在用springboot的test文件夹下,创立一个springtest类,但是一直运行报错,在找到之前写的运行正常的工程里对比,也没发现代码上有什么问题。
工程目录如下:
image.png
bean类
@Component
@ConfigurationProperties(prefix="message")
public class Message {
private String status;
private String data;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
@Override
public String toString() {
return "Message [status=" + status + ", data=" + data + "]";
}
}
配置文件
server.port=8099
message.status=xuxiao
message.data=adja
测试类
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootConfigTest {
@Autowired
Message message;
@Test
public void TestAutowired() {
System.out.println(message.toString());
}
}
报错信息如下
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=TestAutowired], {ExactMatcher:fDisplayName=TestAutowired(springtest.SpringBootConfigTest)], {LeadingIdentifierMatcher:fClassName=springtest.SpringBootConfigTest,fLeadingIdentifier=TestAutowired]] from org.junit.internal.requests.ClassRequest@4d465b11
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中的测试类,需要和main中的保持一致
最终修改后,代码正确运行。
网友评论