英文:
Spring Boot integration test can't find configuration
问题
我有一个简单的Spring Boot应用程序,仅包含以下类:
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
我想测试应用程序是否启动。测试如下:
@SpringBootTest
public class UserServiceIT {
@Test
public void testContextLoads() {
assertTrue(true);
}
}
当我从IDE(IntelliJ)运行此测试时,测试通过。这是预期的行为。
但当我从命令行运行它(mvn integration-test
),我会得到以下错误:
java.lang.IllegalStateException: 无法找到 @SpringBootConfiguration,请使用 @ContextConfiguration 或者 @SpringBootTest(classes=...) 与您的测试一起使用
我正在使用以下版本:
- Java: 14
- Maven: 3.6.0
- spring-boot: 2.3.4.RELEASE
- junit-jupiter: 5.6.2(我没有使用 JUnit 4)
- maven-failsafe-plugin: 3.0.0.M5
对于为什么在命令行上失败,您有任何想法吗?
英文:
I have a simple Spring Boot application, consisting only of this class:
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
I want to test whether the application starts. That test looks like this:
@SpringBootTest
public class UserServiceIT {
@Test
public void testContextLoads() {
assertTrue(true);
}
}
When I run this test from my IDE (IntelliJ), it passes. This is the expected behavior.
When I run it from the command line (mvn integration-test
), I get the following failure:
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
I'm using the following versions:
- Java: 14
- Maven: 3.6.0
- spring-boot: 2.3.4.RELEASE
- junit-jupiter: 5.6.2 (I'm not using JUnit 4)
- maven-failsafe-plugin: 3.0.0.M5
Any ideas as to why this fails on the command line?
答案1
得分: 1
我尝试将maven-failsafe-plugin
的版本回滚到3.0.0.M4
,然后从命令行运行测试通过。因此这似乎是在3.0.0.M5
版本中的一个错误。
英文:
I tried rolling back the version of maven-failsafe-plugin
to 3.0.0.M4
and the test passed from the command line. Therefore this appears to be a bug in 3.0.0.M5
.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论