java - 如何并行运行一个类中的所有 dataProvider 条目?
问题描述
我设置了我的测试,其中的每一行都dataProvider
创建了一个新的测试类实例,并使用传入的数据运行一些测试。我想让所有测试同时执行,但是当我使用当前设置运行测试时,测试a
被实例化并运行第一个方法,然后实例化测试b
并运行第一个方法,等等。我希望能够同时a,b,c
执行所有测试,而无需等待彼此完成/逐步移动。
我通过创建 3 个单独的类文件来实现这种并行行为,这些文件具有单独的数据提供者和一行唯一数据,然后调用parallel="classes"
,但是我将如何在一个类中完成这一切?
public class Class1 {
@DataProvider(name = "provider", parallel = true)
public static Object[][] dataProviderSetup() {
return new Object[][] { { "a", "1", "first" }, { "b", "2", "second" }, { "c", "3", "third" } };
}
@Factory(dataProvider="provider")
public Class1(String var1, String var2, String var3) {
this.var1 = var1;
this.var2 = var2;
this.var3 = var3;
}
@Test()
public void f1() {
//
}
}
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="suite1" verbose="1" preserve-order="true" data-provider-thread-count="3">
<test name="test1" preserve-order="true">
<classes>
<class name="package.Class1" />
</classes>
</test>
解决方案
推荐阅读
- llvm - 将 LLVM 传递应用于特定的基本块
- amazon-web-services - 从一个 SQS 触发器触发多个 lambda 函数
- php - 开始日期后的 Laravel 验证结束日期不起作用
- c++ - decltype:使用指针访问类的静态成员
- python - json文件写入格式问题
- excel - Vba:基于部分匹配突出显示单元格
- git - Github PR 从特性/分支到开发和 PR 从开发到主分支,使用 Squash 和 Merge
- mongodb - 使用 MongoDB 事务的要求
- javascript - getTime 是否返回日-月-年值?
- python - 无法在 Tensorflow 2 代码中转换 tf.contrib.layers.embed_sequence