0

我在 TestNG 中有以下 DataProvider。它有一个名为 DataSheet[] 的自定义对象列表。我需要将它单独传递给 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 方法中迭代,可以返回吗?如何从数据提供者方法返回。

任何帮助深表感谢。

4

1 回答 1

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

请注意,这不是经过测试的代码。但你应该得到基本的想法。

于 2016-01-14T17:29:46.267 回答