我在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方法中进行迭代,可以返回吗?如何从数据提供者方法返回。
任何帮助深表感谢。
最佳答案
您可以随时执行以下操作:
@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;
}
请注意,这不是经过测试的代码。但您应该了解基本概念。