如何从TestNG Dataprovider自定义对象

时间:2016-01-14 16:48:37

标签: java testng-dataprovider

我在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方法,有可能返回吗?如何从数据提供者方法返回。

非常感谢任何帮助。

1 个答案:

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

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