junit
Paramateriserande test
Sök…
Introduktion
Ibland har du ett test som du behöver köra flera gånger, varje gång med olika data. Parameterisering av testet gör att du kan göra detta på ett enkelt och underhållbart sätt.
Syntax
@RunWith (Parameterized.class) // kommentar för testklassen
@ Parametrar // kommentar för data
Anmärkningar
En fördel med att använda parametrar är att om en uppsättning data misslyckas, kommer exekveringen bara att flytta till nästa uppsättning data istället för att stoppa hela testet.
Använda en konstruktör
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));
}
}
I data () tillhandahåller du de data som ska användas i testerna. Junit kommer att uppdateras genom data och köra testet med varje uppsättning data.
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow