我想知道是否有辦法將所有參數打包爲@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