Buscar..


Proveedores de datos

Los proveedores de datos permiten crear múltiples entradas de prueba para ejecutarse dentro de una prueba. Consideremos una prueba que verifica que los números se duplican correctamente. Para crear un proveedor de datos, proporcione un método estático que devuelva el Object[][] o el Iterator<Object[]> (este último permite el cálculo @DataProvider de las entradas de prueba) anotado con la anotación @DataProvider , con el name propiedad como una cadena única que identifica proveedor.

import org.testng.annotations.DataProvider;

public class DoublingDataProvider {
    public final static String DOUBLING_DATA_PROVIDER = "doublingDataProvider";

    @DataProvider(name = DOUBLING_DATA_PROVIDER)
    public static Object[][] doubling() {
        return new Object[][]{
                new Object[]{1, 2},
                new Object[]{2, 4},
                new Object[]{3, 6}
        };
    }
}

En el caso anterior, cada Object[] representa un conjunto de datos para un solo caso de prueba: aquí se duplicará el número, seguido del valor esperado después de la duplicación.

Para utilizar el proveedor de datos, complete la propiedad dataProvider de la prueba con el nombre del proveedor. Si el método del proveedor se definió fuera de la clase de prueba o sus clases base, también debe especificar la propiedad dataProviderClass . El método de prueba debe tomar los parámetros correspondientes a los elementos de la descripción del caso de prueba; aquí hay dos pasos.

import org.testng.annotations.Test;

import static org.testng.Assert.assertEquals;

public class DoublingTest {

    @Test(dataProvider = DoublingDataProvider.DOUBLING_DATA_PROVIDER, dataProviderClass = DoublingDataProvider.class)
    public void testDoubling(int number, int expectedResult) {
        assertEquals(number * 2, expectedResult);
    }
}


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