2015-03-03 62 views
1

如果使用TestNG,您會發現要使用方法作爲數據提供者,必須創建一個返回二維Object數組的方法。將列表轉換爲二維數組用於TestNG數據提供者的Java

因此,如果我有一個(說)學生的名單,是否有任何實用方法將其轉換爲二維數組。

尋找使用循環手動像這樣

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的

回答

0

所以無論是一個更好的方式......讓計算器叫我滾草......但在這裏就是答案。

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 
0

這不是直接回答你的問題。但你也可以像這樣解決這個問題

@DataProvider 
    public Iterator<Object[]> studentProvider() { 
    List<Student> students = getStudentList(); 
    Collection<Object[]> data = new ArrayList<Object[]>(); 
    students.forEach(item -> data.add(new Object[]{item})); 
    return data.iterator(); 
    } 
相關問題