junit
Параметрирование тестов
Поиск…
Вступление
Иногда у вас есть тест, который нужно запускать несколько раз, каждый раз с разными данными. Параметрирование теста позволяет сделать это простым и удобным способом.
Синтаксис
@RunWith (Parameterized.class) // аннотация для тестового класса
@ Параметры // аннотация для данных
замечания
Одно из преимуществ использования параметров заключается в том, что при сбое одного набора данных выполнение просто переходит к следующему набору данных, а не к остановке всего теста.
Использование конструктора
import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.is;
import java.util.*;
import org.junit.*;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class SimpleParmeterizedTest {
@Parameters
public static Collection<Object[]> data(){
return Arrays.asList(new Object[][]{
{5, false}, {6, true}, {8, true}, {11, false}
});
}
private int input;
private boolean expected;
public SimpleParmeterizedTest(int input, boolean expected){
this.input = input;
this.expected = expected;
}
@Test
public void testIsEven(){
assertThat(isEven(input), is(expected));
}
}
В data () вы указываете данные, которые будут использоваться в тестах. Junit будет перебирать данные и запускать тест с каждым набором данных.
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow