当需要用TestNG进行参数化测试时,可以使用@Parameters和@DataProvider注解来传递参数。本文主要介绍@DataProvider的使用方法。
首先定义一个DataProvider,通过name属性为该测试数据命名;
然后使用Object[][](明确测试数据数量时)为构造参数的方法返回测试数据;
最后通过dataProvider属性为测试方法指定测试数据名,方法的形参和测试数据顺序一一对应。
例如:
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class DataProviderTest {
@Test(dataProvider = "data")
public void dataProviderTest(String name, int age, String hobby) {
System.out.println(name + " " + age + " " + hobby);
}
@DataProvider(name = "data")
Object[][] getData(){
return new Object[][] {
{"June", 22, "Sing"},
{"Jack", 22, "Football"},
{"Duke", 22, "Chess"}
};
}
}
测试结果:
June 22 Sing
Jac