Suche…


Datenanbieter

Datenanbieter ermöglichen das Erstellen mehrerer Testeingaben, die innerhalb eines Tests ausgeführt werden. Betrachten wir einen Test, mit dem sichergestellt wird, dass die Zahlen korrekt verdoppelt werden. Erzeugen von Daten - Provider eine statische Methode bereitzustellen , die entweder kehrt Object[][] oder Iterator<Object[]> (letztere ermöglicht lazy Berechnung der Testeingänge) mit annotierten @DataProvider Annotation, mit Eigenschaft name eine eindeutige Zeichenfolge identifiziert das Wesen Anbieter.

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

Im obigen Fall stellt jedes Object[] einen Datensatz für einen einzelnen Testfall dar - hier die zu verdoppelende Anzahl, gefolgt vom erwarteten Wert nach der Verdoppelung.

Um den Datenprovider zu verwenden, geben Sie die dataProvider Eigenschaft des Tests mit dem Namen des Providers an. Wenn die Providermethode außerhalb der dataProviderClass oder ihrer Basisklassen definiert wurde, müssen Sie auch die Eigenschaft dataProviderClass angeben. Die Testmethode sollte Parameter annehmen, die den Elementen der Testfallbeschreibung entsprechen - hier sind es zwei Punkte.

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow