我想知道是否有办法将所有参数打包为@Test
方法为一个类Name
并提供Name[]
作为@DataProvider
?TestNG中的@DataProvider自定义类数组
public class FirstTestClass {
@Test (dataProvider = "getNames")
public void test01(Name name) {
System.out.println(name.name + " " + name.id);
}
@DataProvider
public Name[] getNames() {
Name[] result = new Name[2];
result[0] = new Name("john", 5);
result[1] = new Name("doe", 4);
return result;
}
}
class Name {
public String name;
public Integer id;
public Name(String name, Integer id) {
this.name = name;
this.id = id;
}
}
该测试正在跳过,我收到一条消息说must return either Object[][] or Iterator<>[]
。这是有限的权利?任何解决方法?
在我看来,这是非常有限的...... JUnit有参数化方法接受自定义类数组作为数据提供者...可以说我想测试从DB自动填充表单...表返回的行将有这样很多领域......方法签名不能包含所有的变量吗? TestNG在这方面非常有限...... –
@ChandrachudNanduri如果你喜欢'JUnit',你应该使用它。但是,在这里你有相同的自定义类只包裹在数组中,我不认为这是什么大不了的事。 – talex