如果您使用的是 TestNG,您会发现要将方法用作数据提供者,您必须创建一个返回二维对象数组的方法。
因此,如果我有一个(比方说)Students 列表,是否有任何实用方法可以将其转换为二维数组。
我不希望使用这样的循环手动转换它
List<Student> studentList = getStudentList();
Object [][] objArray = new Object[studentList.size][];
for(int i=0;i< studentList.size();i++){
objArray[i] = new Object[1];
objArray[i][0] = studentList.get(i);
}
return objArray;
相反,如果任何库中有可用函数,我会查看实用函数。
或者为 TestNG 编写数据提供程序方法的更好方法
最佳答案
使用 Java 8 流(并使用关于 converting a stream into array 的问题):
@DataProvider
public Object[][] studentProvider() {
return studentList.stream()
.map(student -> new Object[] { student })
.toArray(Object[][]::new);
}
关于java - 为 TestNG 数据提供者将列表转换为二维数组 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28824037/