java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=getHello], {ExactMatcher:fDisplayName=getHello(com.example.SpringBootDemo.controller.HelloWordControllerTests)], {LeadingIdentifierMatcher:fClassName=com.example.SpringBootDemo.controller.HelloWordControllerTests,fLeadingIdentifier=getHello]] from org.junit.internal.requests.ClassRequest@55a561cf
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:80)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:71)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:46)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:522)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
异常是没有找到匹配的测试,自己用的是maven、StringBoot项目
StringBoot 1.4.7.RELEASE
junit 4.12
在网上有很多说法都是Junit和Spring 不兼容的问题。我就想我用Maven,之前没有指定Junit,是自动加载出来的,后来更换很多的版本都不能用,后来想到既然Maven给我自动加载了,应该不会给我加载一个不兼容的版本来给我。后来去Maven Repository 中查看 Junit 加载的 dependency,才发现 dependency 中指定了 scope 为test ,后台带着试试的态度,在自己的项目中也这样指定:
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
结果OK,测试可用。