背景:当我们同一条用例需要传入不同的参数进行测试时,我们可以每组数据写一个用例,但是这样代码冗余太多。
所以我们可以想着:同一个用例传入不同的参数。
例如:当我们测试用户登录,我们测试场景1:用户A,密码正确; 场景2:用户B,密码不正确
我们只是编写一个登录测试用例,而传入的参数是两组不同的数据。
方法:
@Test(dataProvider='参数化名称')
@DataProvider(name='参数化名称')
代码演示:
public class DataProviderTest { @Test(dataProvider = "stuData") //这个名称需要和@DataProvider(name='xx')是一样的才能找到 public void studentTest(String name,int age){ System.out.println("name="+name+","+"age="+age); } /** * 通过一个方法获取到参数数,并且return。使用@DataProvider()进行注释 * @return */ @DataProvider(name="stuData") public Object[][] dataProvider(){ Object[][] o =new Object[][]{ //注意我们这个类型必须是Object {"zhangsan",20}, {"lisi",30}, {"wangwu",40} }; return o; } } //运行结果 name=zhangsan,age=20 name=lisi,age=30 name=wangwu,age=40