Wie verwende ich TestNG SkipException?

9

Wie verwende ich TestNG neue SkipException () effektiv? Hat jemand ein Beispiel?

Ich habe versucht, diese Ausnahme zu Beginn einer Testmethode zu werfen, aber sie zerstört den Abbau, Setup, Methoden usw. und verursacht Kollateralschaden, indem einige (nicht alle) der folgenden Tests ebenfalls übersprungen werden. und zeigt eine Menge Müll im TestNG-HTML-Bericht.

Ich verwende TestNG, um meine Komponententests auszuführen, und ich weiß bereits, wie ich eine Option für die @ Test-Annotation verwenden kann, um einen Test zu deaktivieren. Ich möchte, dass mein Test auf meinem Bericht als "existent" angezeigt wird, ohne ihn jedoch im Nettoergebnis zu berücksichtigen. Mit anderen Worten, es wäre schön, wenn es eine @ Test-Anmerkungsoption zum Überspringen eines Tests gäbe. Dies ist so, dass ich Tests als ignorierte sortof markieren kann, ohne dass der Test aus der Liste aller Tests verschwindet.

Muss "SkipException" in @BeforeXXX geworfen werden, bevor @Test ausgeführt wird? Das könnte die Müdigkeit erklären, die ich sehe.

    
djangofan 06.02.2014, 00:36
quelle

3 Antworten

10

Ja, mein Verdacht war richtig. Das Auslösen der Ausnahme innerhalb von @Test funktioniert nicht, und ich habe es auch nicht in @BeforeTest geworfen, während ich parallel nach Klassen verwende. Wenn Sie das tun, unterbricht die Ausnahme die Testkonfiguration und Ihr TestNG-Bericht zeigt Ausnahmen in allen zugehörigen @Configuration-Methoden an und kann sogar dazu führen, dass nachfolgende Tests fehlschlagen, ohne übersprungen zu werden.

Aber wenn ich es in @BeforeMethod hineinwerfe, funktioniert es perfekt. Ich bin froh, dass ich es herausgefunden habe. Die Dokumentation der Klasse deutet darauf hin, dass sie in jeder der mit Annotationen versehenen @Configuration-Methoden funktionieren wird, aber etwas darüber Ich habe es mir nicht erlaubt, das zu tun.

%Vor%     
djangofan 12.02.2014, 16:02
quelle
4

Ich benutze TestNG 6.8.1.

Ich habe ein paar @Test -Methoden, von denen ich SkipException gewinne, und ich sehe keine Verrücktheit. Es scheint zu funktionieren wie erwartet.

%Vor%

Maven-Ausgabe:

%Vor%     
Jeff Fairley 09.05.2014 23:31
quelle
-1

Wenn Sie den Testfall von der @Test-Annotationsoption überspringen möchten, können Sie das Attribut 'enable = false' mit @Test-Annotation wie folgt verwenden

%Vor%

Dadurch wird der Testfall übersprungen, ohne ihn auszuführen. aber andere Tests, Setup und Teardown laufen ohne Probleme.

    
Himanshu 06.02.2014 05:43
quelle