Вывод параметров теста в junit

Параметризацией в современных фреймворках для тестирования уже давно никого не удивишь. В TestNG параметризация реализована на мой взгляд намного более гибко, но это другая история =).

А вот если ты (как и мы) используешь Junit, то вот небольшой хинт как сделать вывод результатов более наглядным. Начиная с версии 4.11 аннотация @Parameters стала принимать свойство name:

private String login;
    
@Parameters(name = "login: {0}")
public static Collection<String> logins() {
    return Arrays.asList(new String[]{"chuck", "norris"});
}
    
public LoginTest(String login) {
    this.login = login;
}
    
@Test
public void shouldBeSuccessful() {
}

Сравните вывод, который мы получаем:

Искушенный пользователь junit заметит, что я использую сигнатуру **Collection<String> ** вместо привычной **Collection<Object[]> ** для метода, провайдящего данные. Такой синтаксис стал доступен тоже сравнительно недавно.

comments powered by Disqus