2015-07-21 2 views
0

Предположим, у меня есть список строк, я хочу, чтобы DataProvider создавал перестановку 2 из этого списка для использования в качестве 2 параметра в одной из тестовых функций. То, что я до сих пор:TestNG DataProvider - Как создать все перестановки в списке

@DataProvider(name = "Permutation") 
public static Object[][] permutations() { 
    List <String> permutations = getPermutationList(); 
    Object[][] dataList = new Object[permutations.size()][permutations.size()]; 
    for (int i = 0; i < permutations.size(); i++) { 
     dataList[i] = new Object[permutations.size()]; 
     for (int j = 0; j < permutations.size(); j++) { 
      dataList[i][j] = permutations.get(i); 
     } 
    } 
    return dataList; 
} 

Мой DataProvider не работает, как и ожидалось, каждая строка просто нулевая.

Подсказка: да! Спасибо

+0

Где заполняются узлы и nodeTypeList? – Nick

+0

editted, просто функция и класс, которые я использую для получения списка перестановок – Kiddo

+0

Если у вас есть отладчик (или сделайте 'System.out'), я попытаюсь посмотреть, что значение' permutations.get (i) 'фактически дает. – Nick

ответ

0

getPermutationList проблема с вашим кодом. Убедитесь, что он возвращает данные, которые вы ожидаете. Ниже приведен код, приведенный выше, только с инициализированным жестко запрограммированным массивом. Когда он запускается, в объекте dataList есть данные.

public static Object[][] permutations() { 
    List <String> permutations = new ArrayList<String>(Arrays.asList("foo", "bar")); 
    Object[][] dataList = new Object[permutations.size()][permutations.size()]; 
    for (int i = 0; i < permutations.size(); i++) { 
     dataList[i] = new Object[permutations.size()]; 
     for (int j = 0; j < permutations.size(); j++) { 
      dataList[i][j] = permutations.get(i); 
     } 
    } 
    return dataList; 
} 
Смежные вопросы