Java TestNG-无法将字符串列表添加为数据提供程序
我试图以数据提供者的身份传递字符串列表,以下是我的代码:Java TestNG-无法将字符串列表添加为数据提供程序,java,testng,testng-dataprovider,Java,Testng,Testng Dataprovider,我试图以数据提供者的身份传递字符串列表,以下是我的代码: @DataProvider(name="test-urls") public Object[] testUrls(){ ArrayList<Object> data = new ArrayList<>(); // do something here to add elements // i.e: data.add("test string 1");
@DataProvider(name="test-urls")
public Object[] testUrls(){
ArrayList<Object> data = new ArrayList<>();
// do something here to add elements
// i.e: data.add("test string 1");
return new Object[] {data};
}
看起来这个简单的测试失败了。你能告诉我我的代码有什么问题吗?谢谢您必须返回
Object[][]
或Object[]
或迭代器如果您不喜欢老式的DP样式,那么值得尝试名为的TestNG扩展,这是一种实体驱动的DP。然后,您的示例将变得非常简单:
@DataSupplier(name=“测试URL”)
公共列表testurl(){
返回数组.asList(“url1”、“url2”、“url3”);
}
@Test(enabled=true,dataProvider=“Test url”)
公共无效测试(字符串url){
System.out.println(“url:+url”);
}
我需要返回2D阵列有什么原因吗?因为我只想为每个单独的测试用例使用每个元素。ThanksObject[X][Y]:每个X都是一个测试调用,Y都是它的特定参数负载。
@Test(enabled = true, dataProvider = "test-urls")
public void test(String url) {
System.out.println("url: " + url);
}
@DataProvider(name="test-urls")
public Object[][] testUrls(){
ArrayList<string> data = new ArrayList<>();
// do something here to add elements
// i.e: data.add("test string 1");
return new Object[][] {data};
}
@Test(enabled = true, dataProvider = "test-urls")
public void test( ArrayList<string> list) {
System.out.println(list);
}