如何使用存在于不同 class 中的@DataProvider

How to use @DataProvider present in different class

如何使用存在于不同 class 中的 @DataProvider

我创建了一个不同的包,并且在每个测试用例旁边定义了数据提供者。请分享我如何在不同的 class.

中使用它

您可以使用 @TestdataProviderClass 属性:

public class StaticProvider {
  @DataProvider(name = "create")
  public static Object[][] createData() {
    return new Object[][] {
      new Object[] { new Integer(42) }
    };
  }
}

public class MyTest {
  @Test(dataProvider = "create", dataProviderClass = StaticProvider.class)
  public void test(Integer n) {
    // ...
  }
}

查看 the documentation 了解更多详情。

如果您有唯一的dataProvider 方法名称(createData),并且您选择不在DataProvider 注释后给出名称,如下所示,

@DataProvider    
public Object[][] createData(){

}

然后就可以使用下面的方法名了,

@Test(dataProvider = "createData", dataProviderClass = StaticProvider.class)