情况:我有两个测试a()和b()。 b()使用“dependsOnMethods”参数依赖于()。我有两组测试的不同数据。有没有办法确保在执行测试时保留数据的顺序?如何保持数据提供者的数据顺序?
例子:
@DataProvider(name = "test1")
public Object[][] createData1() {
return new Object[][] {
{ "Google" },
{ "Microsoft"},
};
}
@DataProvider(name = "test2")
public Object[][] createData2() {
return new Object[][] {
{ "Apple"},
{ "Yahoo"},
};
}
@Test(dataProvider = "test1")
public void verifyData1(String n1) {
System.out.println(n1);
}
@Test(dataProvider = "test2", dependsOnMethods="verifyData1")
public void verifyData2(String n1) {
System.out.println(n1);
}
我想结果永远是 谷歌,苹果,微软,雅虎。 或 微软,雅虎,谷歌,苹果
但不 谷歌,雅虎,微软,苹果,还是谷歌,微软,苹果,雅虎。
这意味着如果test1使用其dataprovder中的第一组参数运行,则test2也应该使用它的dataprovider中的第一组paramaeters运行。 只要第二个测试也在运行第一组之前以其数据提供者的第二组参数运行,那么测试1的数据提供者中的第二组params是否在第一组之前运行并不重要。有没有办法做到这一点?
刚才意识到这可以通过使用group-by-instances参数来解决。 (我在我的testng xml中找到的一个选项,因为我使用的是旧版本。)。我将尝试升级我的testNg并发布更新。
我升级我的测试-NG版本6.8.8,并用组逐实例,但它没有解决我的问题。 – user3325862