Ausgabe einer Testmethode an eine andere Methode übergeben

7

Ich muss die folgenden Unit-Testfälle in testng schreiben:

  1. saveProductTest, die productId zurückgeben würde, wenn Produktdetails in der DB erfolgreich gespeichert werden.

  2. modifyProductTest sollte die zuvor gespeicherte productId als Parameter verwenden.

Ich nehme die Eingabe der Produktdetails (PrdouctName, ReleaseDate) für saveProductTest und modifyProductTest-Methode aus einer XML-Datei mit testNg-Datenprovidern. Da productId in der save-Methode generiert wird, muss ich sie an die modify-Methode übergeben.

Was ist der beste Weg, die Ausgabe einer Testmethode an eine andere Testmethode zu übergeben?

    
Rakesh Goyal 25.06.2010, 05:45
quelle

3 Antworten

14

Bei allem Respekt für simendsjo ist die Tatsache, dass alle Tests unabhängig voneinander sein sollten, ein dogmatischer Ansatz, der viele Ausnahmen hat.

Zurück zur ursprünglichen Frage: 1) Verwenden Sie abhängige Methoden und 2) speichern Sie das Zwischenergebnis in einem Feld (TestNG erstellt Ihre Instanzen nicht von Grund auf neu, so dass das Feld seinen Wert behält).

Zum Beispiel

%Vor%     
Cedric Beust 25.06.2010, 21:05
quelle
5

Mit dem Objekt ITestContext . Es ist ein Objekt, das global im Kontext der Suite verfügbar ist und über Parameter in jedem @ Test verfügbar ist.

Zum Beispiel:

%Vor%     
Jorge Muñoz 16.01.2015 11:30
quelle
3

Jeder Komponententest sollte unabhängig von anderen Tests sein, damit Sie leichter sehen können, was fehlschlägt. Sie können eine Hilfsmethode verwenden, die das Produkt speichert und die ID zurückgibt und diese aus beiden Tests aufruft.

    
simendsjo 25.06.2010 06:11
quelle

Tags und Links