Buscar..


Introducción

A veces, tiene una prueba que necesita ejecutar varias veces, cada vez con datos diferentes. La parametrización de la prueba le permite hacer esto de una manera fácil y fácil de mantener.

Sintaxis

  • @RunWith (Parameterized.class) // anotación para la clase de prueba

    @ Parámetros // anotación para los datos

Observaciones

Un beneficio de usar parámetros es que si falla un conjunto de datos, la ejecución simplemente se moverá al siguiente conjunto de datos en lugar de detener toda la prueba.

Usando un constructor

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));
    }
}

En datos (), usted suministra los datos que se utilizarán en las pruebas. Junit recorrerá los datos y ejecutará la prueba con cada conjunto de datos.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow