我必须使用dataprovider批注将数组的数组列表发送到测试用例。我有以下代码,但它给出了非法的参数异常。我的arraylist大小是4096.我是否需要在测试方法中提出这么多论点。
@Test(dataProvider="combination_list")
public void checkbox_combination(List<int[]> obj) {
/*for(int i=0;i<=4095;i++) {
}*/
}
@DataProvider(name="combination_list")
public static Object[][] get_Combination_list() {
List<int[]> combinations_with_int_array = new ArrayList<int[]>();
int size_combination;
for(int i=0;i<=4095;i++) {
String checkbox_combination =Combination_List.intToString(i,12);
int[] single_combination = new int[12];
for (int j=0;j<=11;j++) {
if(j<11)
{
single_combination[j]=Integer.parseInt(checkbox_combination.substring(j, j+1));
}
else
{
single_combination[j]=Integer.parseInt(checkbox_combination.substring(j));
}
}
combinations_with_int_array.add(single_combination);
}
size_combination=combinations_with_int_array.size();
System.out.println("No of combinations : "+size_combination);
Object objArray[][] = new Object[size_combination][];
for(int i=0;i<size_combination;i++){
objArray[i] = new Object[1];
objArray[i][0] = combinations_with_int_array.get(i);
}
return objArray;
}
答案 0 :(得分:2)
combinations_with_int_array是int []的arrayList。
TASK [root : Make sure git version is 2.7.x]
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Make sure git version is 2.7.x"}
当你对列表进行get时,它会给你int []这是参数的类型,它将添加到Object [] []中。所以你的测试方法应该有相同的参数。