Java 通过maven failsafe插件运行spring启动测试时发生IllegalStateException。
我已经在IntelliJ中创建了一个新的spring引导项目,并且我希望将使用spring引导上下文的测试与简单的单元测试分开,所以我添加了maven failsafe插件。我的配置如下所示:Java 通过maven failsafe插件运行spring启动测试时发生IllegalStateException。,java,maven,intellij-idea,spring-boot,maven-failsafe-plugin,Java,Maven,Intellij Idea,Spring Boot,Maven Failsafe Plugin,我已经在IntelliJ中创建了一个新的spring引导项目,并且我希望将使用spring引导上下文的测试与简单的单元测试分开,所以我添加了maven failsafe插件。我的配置如下所示: <!--RUNNING UNIT TESTS--> <plugin> <artifactId>maven-surefire-plugin</artifactId> <ver
<!--RUNNING UNIT TESTS-->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<excludes>
<exclude>**/*IT.java</exclude>
</excludes>
</configuration>
</plugin>
<!--RUNNING INTEGRATION TESTS-->
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<includes>
<include>**/*IT.java</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
@RunWith(SpringRunner.class)
@SpringBootTest
public class ErpegApplicationTestIT {
@Test
public void contextLoads() {
}
}
问题是,当我在InttelliJ上运行这个测试时,一切都正常工作。但在我运行mvn验证后
我得到:
[ERROR] initializationError(com.tbawor.ErpegApplicationTestIT) Time elapsed: 0.005 s <<< ERROR!
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @S
pringBootTest(classes=...) with your test
[ERROR]initializationError(com.tbawor.ErpegApplicationTestIT)经过的时间:0.005秒如果有人遇到这个问题,我已经找到了解决方案。只需修改pom.xml即可:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>${basedir}/target/classes</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven故障保护插件
2.20
${basedir}/target/classes
集成测试
验证
首先,您不需要和的配置,因为这些是默认设置(约定优先于配置)。您是否遵循了错误消息中的建议?最好解释一下更改。例如,有什么特别的变化?谢谢Spring启动应用程序和集成测试也有类似的问题,错误是java.lang.ClassNotFoundException。通过添加
解决了我的问题。很高兴听到:)