2014-01-23 6 views
0

В Eclipse, при использовании параметризованного бегуна в тестовом классе JUnit, каждый прогон отмечается числом (0, 1 и т.д.)Как указать метки к Parameterized запуска JUnit

Есть ли способ замените это число на соответствующую метку?

PS: Я использую JUNIT версию 4,8 старше 4.11, так что @Parameters не принимает каких-либо аргументов

Test Case:

@RunWith(value = Parameterized.class) 
public class TestClass { 

    @Parameters 
    public static Collection<Object[]> getLabels() { 
     List<Object[]> labels = new ArrayList<Object[]>(); 
     labels.add(new Object[] {"Toto"}); 
     labels.add(new Object[] {"Titi"}); 
     return labels; 
    } 

    private final String label; 

    public TestClass(String label) { 
     this.label = label; 
    } 

    @Test 
    public void test1() { 
     assertTrue(true); 
    } 
} 

Результат:

enter image description here

+0

возможно дубликат [Изменение имен параметризованных тестов] (http://stackoverflow.com/questions/650894/changing-names-of-parameterized-tests) –

+0

@ MartinSchröder Nope , Я не хочу изменять имя тестового класса или метод тестирования. Я просто хочу заменить пронумерованные индексы на String. Я уже проверил тот, на который вы указали, и это не дубликат! –

+0

@ MartinSchröder Также решение доступно только с junti 4.11, в то время как я использую более старую версию junit 4 –

ответ

1

Существует простой способ легко идентифицировать отдельные тестовые примеры в параметризованном тесте, вы можете указать имя, используя аннотацию @Parameters.
Это имя могут содержать заполнители, которые заменяются во время выполнения:

{индекс}: текущий индекс параметра
{0}, {1}, ...: первый, второй, и так далее, значения параметра

См пример здесь: https://github.com/junit-team/junit/wiki/Parameterized-tests

+0

Здравствуйте, атрибут name был добавлен в junit 4.11. Я использую 4.8, поэтому он не будет работать –

+1

Есть ли причина, по которой вы придерживаетесь этой версии и не обновляетесь до последней версии? – Ittiel

+0

Управление версиями не обрабатывается мной, и я не могу изменить его –