Junit很少出现的一个问题:initializationError // No tests found matching...

java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test2], {ExactMatcher:fDisplayName=test2(cn.amumu.spring.test.shiro.ShiroTest12)], {LeadingIdentifierMatcher:fClassName=cn.amumu.spring.test.shiro.ShiroTest12,fLeadingIdentifier=test2]] from [email protected]
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)

上面是完整的异常栈。

以下是异常截图:

Junit很少出现的一个问题:initializationError // No tests found matching...

Junit很少出现的一个问题:initializationError // No tests found matching...

出现这个异常有很多种原因,有可能是字节码文件找不到,也有可能是没有使用@Test  注解等等...

网上有一些文章说是缺少org.hamcrest的hamcrest-library 1.3.RC2和hamcrest-core 1.3.RC2,但导入后测试仍然报错。可见这两个包是不需要的,这不是这个问题的原因。

最后发现,出现这个问题是因为spring的版本有问题 ,我使用的spring-test版本是4.2.3  但是spring其他的环境却都是4.2.4版本的,最后将版本统一一下 ,这个错误就消失了。

所以,我们在进行spring环境搭建的时候,最好将所有spring的jar包版本进行统一,减少出错几率。