junit報錯java.lang.Exception: No tests found matching
最近在學習Spring的過程當中用到了Junit,然而中間遇到了個使人十分捉狂的報錯。java
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)
代碼以下:spring
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 }
仔細檢查過代碼應該是沒有什麼問題的,上網查了下,發現挺多朋友也遇到過這個坑爹的問題,最後找到解決方案以下。eclipse
參考解決方案:學習
原來除去Junit在代碼裏須要引用的包之外,若是涉及到須要Spring自動建立的應用上下文,還涉及到另一個jar包。
hamcrest-all-1.3.jar
只要把這個jar包引入便可。
做者用的Spring版本爲4.3.5,Junit版本爲4.12。url
參考的原做:
junit報錯java.lang.Exception: No tests found matchingspa