Подскажите как поступить в случае, когда нужно перебрать все ноды коллекций, которые передаются атрибутами в тестовый метод? Нужно что бы каждый вариант сравнился с каждым (можно со всем и с собой же).
Нужно передать в langFrom String локали, к примеру “en”, “fr” и т.д.
Так же нужно поступить и с LangTo.
lineFromFile - это число строки из файла с переводимыми фразами, тоже для каждой пары языков меняется, к примеру от 0 до 5.
Моя единственная идея:
Применить @DataProvider (можно только к одному из атрибутов метода).
К примеру можно завернуть в цикл и инкрементировать lineFromFile.
Но это не явно и усложнит фикс упавшего теста.
Но даже в таком случае, придется делать отдельные тест для каждого языка, к примеру:
Тест перевода с английского, передать туда “перевод на…” при помощи DataProvider и завернуть в цикл, где инкрементировать lineFromFile.
Тест перевода с французкого, передать туда “перевод на…” при помощи DataProvider и завернуть в цикл, где инкрементировать lineFromFile.
И так далее.
30 языков = 30 тестов с вложенным циклом и передачей туда 30ти target-языков при помощи DataProvider.
Меня смущает такое решение, может кто-то предложить, что-то лучше?
Вам достаточно подключить только одну - test-data-supplier. Все остальное подтянется транзитивно. Библиотеки я перечислил лишь для того, чтобы можно было проанализировать синтаксис.
Хочется изобрести свой велосипед с cross product на стримах? You’re welcome. Будет ли это проще? Нет. Можно конечно без стримов, старыми добрыми вложенными циклами сделать. А потом еще распихивать все по двумерным массивам стандартного data provider. Но кто на это захочет тратить свое время?