我用TestNG
来表示Eclipse
。
是否可以逐步地将两个数据提供程序分配给相同的测试函数?
我可以把两个供应商放在一个,但这不是我想要的。
我需要(不像在这个例子中)独立地生成数据。
@DataProvider(name = "dataSet1")
public Object[][] createDataX() {
return new Object[][] { { 1, 1 }, { 2, 2 } };
}
@DataProvider(name = "dataSet2")
public Object[][] createDataY() {
return new Object[][] { { 0, 0 }, { 3, 3 } };
}
我想给予两个供应商进行相同的测试。这可能吗?
@Test(dataProvider = "dataSet1") // ??? and "dataSet2" ???
public void testThisFunction(int val1, int val2) {
boolean solution = oracle(val1,val2);
assert (solution);
}
5条答案
按热度按时间pprl5pva1#
不需要,但您可以将这两个数据提供程序合并为一个,并将该数据提供程序指定为您的数据提供程序:
du7egjpx2#
n6lpvg4x3#
请参考这个答案:
TestNG using multiple DataProviders with single Test method
它要干净得多,将适用于更复杂的事情。
也许有人也会需要它,我以不同的方式重写了这个方法
public static T[] concatAll(T[] first, T[]... rest)
:t5zmwmid4#
这是工作修复:
在效用方法中
disbfnqx5#
是的,
你可以写@Test(dataProvider=“name_of_first_dataprovider,name_of_second_dataprovider”)