gpt4 book ai didi

maven - 使用 maven surefire 在第一次错误/失败后停止测试执行

转载 作者:行者123 更新时间:2023-12-04 17:51:14 29 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Is there a way to "fail fast" for junit with the maven surefire plugin?

(7 个回答)


6年前关闭。




我正在使用 maven surefire 插件来执行我的应用程序的 junit 测试。

我想在第一次失败或错误后停止执行。在我的例子中,这些是修改应用程序状态的集成测试,所以我需要知道失败后的确切系统状态(我们有一个奇怪的问题,如果单独执行,测试通过,但如果与整个套件一起执行,则不会通过)。

是否可以?我在插件文档中找不到选项 here .

最佳答案

实际上,事实证明这与 maven-surefire-plugin 无关。

我找到了答案 here .

我实际上最终使用了@mhaller 在那里提出的解决方案

所以我实现了一个像这样的junit监听器:

package br.com.xpto;

import org.junit.runner.Description;
import org.junit.runner.notification.Failure;
import org.junit.runner.notification.RunListener;

import br.com.caelum.brutal.integration.scene.AcceptanceTestBase;

public class FailFastListener extends RunListener {

public void testFailure(Failure failure) throws Exception {
System.err.println("FAILURE: " + failure);
AcceptanceTestBase.close();
System.exit(-1);
}

@Override
public void testFinished(Description description) throws Exception {
AcceptanceTestBase.close();
System.exit(-1);
}
}

并像这样配置 maven-surefire:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>surefire-integration</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<excludes>
<exclude>none</exclude>
</excludes>
<includes>
<include>**/scene/**/*Test.java</include>
</includes>
<forkMode>once</forkMode>
<properties>
<property>
<name>listener</name>
<value>br.com.caelum.brutal.integration.util.FailFastListener</value>
</property>
</properties>
</configuration>
</execution>
</executions>
<configuration>
<excludes>
<exclude>**/*</exclude>
</excludes>
</configuration>
</plugin>

关于maven - 使用 maven surefire 在第一次错误/失败后停止测试执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15839495/

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