测试NG中具有数组arraylist的数据提供者

时间:2017-08-18 07:57:23

标签: java testing testng

我必须使用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;
}

1 个答案:

答案 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 [] []中。所以你的测试方法应该有相同的参数。