gpt4 book ai didi

spring - 使用 Maven/JUnit/Spring 在第一次失败时停止测试

转载 作者:行者123 更新时间:2023-12-04 13:50:26 24 4
gpt4 key购买 nike

我希望 Maven 在遇到第一个错误时停止尝试运行我的 JUnit Spring 测试。这可能吗?

我的测试类如下所示,我将它们作为标准 Maven 目标运行。

@ContextConfiguration(locations = {"classpath:/spring-config/store-persistence.xml","classpath:/spring-config/store-security.xml","classpath:/spring-config/store-service.xml", "classpath:/spring-config/store-servlet.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
@Transactional
public class SkuLicenceServiceIntegrationTest
{
...

如果 Spring 配置中有错误,那么每个测试都会尝试重新启动 Spring 上下文,这需要 20 秒的时间。这意味着我们很久没有发现任何测试失败了,因为它会在得出构建失败的结论之前尝试运行所有测试!

最佳答案

这与其说是回答,不如说是评论,但是,也许您会发现它很有用。

我建议将您的集成测试分成一个单独的阶段,并使用 Failsafe 而不是 Surefire 来运行它们。通过这种方式,您可以决定是只运行快速单元测试,还是需要运行长时间集成测试的完整集:

    <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<!-- Uncomment/comment this in order to fail the build if any integration test fail -->
<execution>
<id>verify</id>
<goals><goal>verify</goal></goals>
</execution>
</executions>
</plugin>
</plugins>

您的问题的解决方法可能是将测试单独执行并首先运行它;这样,执行就会失败,并且不会启动后续的万无一失/故障安全执行。见 how to configure the plugin to do it .

关于spring - 使用 Maven/JUnit/Spring 在第一次失败时停止测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7792538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com