標籤:jar mat blank repos artifact ips oid jar包引入 bsp
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 [email protected]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 @Resource15 private CompactDisc cd;16 17 @Test18 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
junit報錯java.lang.Exception: No tests found matching