我在TestNG中有以下DataProvider。它有自定义对象列表
数据表[]。我需要单独将它传递给Test方法,但它返回为数组。
@DataProvider(name="accountsDetails")
public static Object[][] getData()
{
List<DataSheet> csvValues= CSVReaderUtils.getCSVValues(csvFilePath);
DataSheet[] array = csvValues.toArray(new DataSheet[csvValues.size()]);
return new Object[][]{{array}};
}
@Test(dataProvider="accountsDetails")
public void loginTest(DataSheet data)
{
}
我不必迭代Test方法,有可能返回吗?如何从数据提供者方法返回。
非常感谢任何帮助。
答案 0 :(得分:1)
你可以随时做这样的事情:
@DataProvider(name="accountsDetails")
public static Object[][] getData()
{
List<DataSheet> csvValues= CSVReaderUtils.getCSVValues(csvFilePath);
DataSheet[] array = csvValues.toArray(new DataSheet[csvValues.size()]);
Object[][] obj=new Object[numberOfRows][numberOfColumns];
for(int i=0;i< array.length; i++) {
obj[i][0]=array[i];
}
return obj;
}
请注意,这不是经过测试的代码。但你应该得到基本的想法。