我在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;
    }


请注意,这不是经过测试的代码。但您应该了解基本概念。

09-10 09:26