Перейти к содержимому

Azur

Регистрация: 15 июн 2011
Offline Активность: 10 янв 2019 14:37
-----

Мои темы

Не могу использовать списки с параметризацией в JUnit4

28 декабря 2018 - 10:26

Добрый день. Пытаюсь сделать параметризированные тесты на Webdriver 3 / JUnit4, пока локально в Idea. Начинаю с простого, обход по ссылкам, которые предварительно собраны в виде URL в простой список. Этот список я не могу использовать в качестве параметра. Насколько я понимаю, параметрами могут выступать только объекты.

 

Например я могу объявить объект заранее

Object[] testvalues = new Object[]{"google.com","ya.ru","twitter.com"};

И тогда в тесте он отработает правильно

@RunWith(Parameterized.class)
public class TestParam {

@Parameterized.Parameter
public String domainName;

@Parameterized.Parameters(name = "{index}:TestOf {0}")
public static Object[] data() {
return testvalues;
}

@Test
public void paramTest() {
System.out.println(domainName);
}

}

Фокусы начинаются когда я пытаюсь использовать список ссылок.

1. Я могу сделать объект через toArray()

2. Я могу сделать объект через stream().toArray(n -> new String[n])

3. Я могу сделать объект через stream().toArray(String[]::new)

4. Я не могу добавлять ссылки сразу в объект, потому что он имеет фиксированный размер

 

В результате, если я использую именно сконвертированный объект, то тестовый класс выполняется успешно без параметров, ничего не делая. Я проверял, что на выходе получаются именно объекты с нужным содержимым. Подскажите пожалуйста, где у меня ошибка.