Junit测试时报错No tests found matching

Junit测试时报错No tests found matching

错误提示:

java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=testFind3], {ExactMatcher:fDisplayName=testFind3(com.hx.myBatis.AppTest3)], {LeadingIdentifierMatcher:fClassName=com.hx.myBatis.AppTest3,fLeadingIdentifier=testFind3]] from org.junit.internal.requests.ClassRequest@3bfdc050
	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:37)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

在这里插入图片描述

错误原因及解决方法:

  1. 没有添加注解@Test。
  2. 测试中具有映射文件mapper.xml映射文件中id重名
  3. 原因:测试用例包路径与项目启动类包路径不一致。方法:测试用例包路径必须跟项目启动类包路径一致。
  4. 原因:没有导入org.hamcrest/hamcrest-core/1.3包。方法:导包。
  5. Junit4 测试方法必须用public void修饰。
  6. 测试方法命名不规范。在JUnit3中,测试方法名必须统一格式为testXxx();
  7. 测试类所在文件夹必须为源文件夹source files,如果不是,选择 ‘Build path’ -> ‘Use as a source folder’。
  8. 检查测试类是否继承了TestCase。可以尝试删除继承TestCase,看看是否可以运行。
  9. Maven构建项目时,pom.xml文件中的JUnit版本和classpath中的版本不一致造成冲突,删掉一个就好。

其它原因:

  1. JUnit或Spring版本冲突,建议更换版本。
  2. eclipse版本过旧。
  3. 方法被static修饰。
  4. 方法体有返回值,将返回值删除。
  5. 方法体内需要传参。等。
发布了40 篇原创文章 · 获赞 16 · 访问量 8639

猜你喜欢

转载自blog.csdn.net/qq_40366738/article/details/104478777