junit报错java.lang.Exception: No tests found matching的解决方法

时间:2018-08-29
本文章向大家介绍junit报错java.lang.Exception: No tests found matching的解决方法,需要的朋友可以参考一下

junit报错java.lang.Exception: No tests found matching

最近在学习Spring的过程中用到了Junit,然而中间遇到了个令人十分捉狂的报错。

1 java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=cdShouldNotBeNull], {ExactMatcher:fDisplayName=cdShouldNotBeNull(soundsystem.CDPlayerTest)], {LeadingIdentifierMatcher:fClassName=soundsystem.CDPlayerTest,fLeadingIdentifier=cdShouldNotBeNull]] from org.junit.internal.requests.ClassRequest@3deff3
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:675)
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 import static org.junit.Assert.*;
 2 
 3 import javax.annotation.Resource;
 4 
 5 import org.junit.Test;
 6 import org.junit.runner.RunWith;
 7 import org.springframework.test.context.ContextConfiguration;
 8 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 9 
10 @RunWith(SpringJUnit4ClassRunner.class)
11 @ContextConfiguration(classes = CDPlayerConfig.class)
12 public class CDPlayerTest {
13 
14     @Resource
15     private CompactDisc cd;
16 
17     @Test
18     public void cdShouldNotBeNull(){
19     assertNotNull(cd);
20     }
21 
22 }

仔细检查过代码应该是没有什么问题的,上网查了下,发现挺多朋友也遇到过这个坑爹的问题,最后找到解决方案如下。

参考解决方案:

原来除去Junit在代码里需要引用的包以外,如果涉及到需要Spring自动创建的应用上下文,还涉及到另外一个jar包。 
hamcrest-all-1.3.jar 
只要把这个jar包引入即可。 
作者用的Spring版本为4.3.5,Junit版本为4.12。

参考的原作: 
junit报错java.lang.Exception: No tests found matching