gpt4 book ai didi

java - 在 Maven 上按顺序强制进行集成参数化测试

转载 作者:行者123 更新时间:2023-11-28 21:27:19 26 4
gpt4 key购买 nike

我有参数化集成测试,我使用 maven-surefire-plugin 运行。

他们使用 wiremock 服务器,为每个参数发送不同的值。

当我启动所有测试时,它们并不一致,OK 和 KO 从来都不是同一个测试。如果我只重新启动失败的,越来越多的通过,直到它们都 OK。

我怀疑是并发问题。

但是我能知道问题是出在 maven 、 surfire 、 intelliji 上还是参数化的运行器上吗?

我如何强制 maven 或 intelliji 或 Parametrized 逐一、逐一运行测试方法?

代码:

    @RunWith(Parameterized.class)
public class InfoIT {

@Parameterized.Parameters(name = "cache: {0}")
public static List<Object[]> getParameters() {
return asList(new Object[][]{
{"infoA"},
{"infoB"},
{"infoC"},
{"infoD"}
});
}

@Parameterized.Parameter(0)
public String cache;

@Rule
public WireMockRule siteServer = new WireMockRule(WIREMOCK_SITESERVER_CONFIGURATION);

WebTarget infoClient = ClientBuilder.newClient().target(INFO_URL);

@Test
public void test_delete_is_ok_with_private_ip() {

// when
Response response = infoClient.path(format("/private/%s/test", cache)).request().delete();

// then
assertResponseEmpty(response);
}

最佳答案

您可以使用 @NotThreadSafe 注释类 InfoIT(来自 net.jcip:jcip-annotations:1.0),这将使测试按顺序运行(来源:https://maven.apache.org/surefire/maven-failsafe-plugin/examples/fork-options-and-parallel-execution.html ).如果这就是您要问的。

关于java - 在 Maven 上按顺序强制进行集成参数化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36432309/

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