关于java.lang.Exception:No tests found matching的一系列解决方法
问题描述:
1 java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=yahaa], {ExactMatcher:fDisplayName=yahaa(dao.ClassDao)], {LeadingIdentifierMatcher:fClassName=dao.ClassDao,fLeadingIdentifier=yahaa]] from org.junit.internal.requests.ClassRequest@bebdb06 2 at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40) 3 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77) 4 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68) 5 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43) 6 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) 7 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) 8 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 9 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
问题分析与解决:
1、忘记在方法前加 @Test 注解了。
解决:加上就行。
2、IDE或者项目原因。
解决:重启eclipse/myeclipse。或者关闭项目再打开。
3、看你的测试类是否继承TestCase。
解决:删除此继承
4、测试类名字不规范,直接命名为‘Test’
解决:会和Junit的测试类相冲突,得把类名改了
5、(最容易忽视的)启动测试方法的方式不对。
例如:
如果鼠标放在上图的红色方框内右键选择了run as——Junt Test 那么就会发生找不到“No tests found matching ”这个错误。
并且在蓝色区域以外的地方run as的话那么就是跑整个类的所有的测试方法