2017-07-21 3 views
0

In NUnit 3 können Sie Ihre Tests mit dem Attribut Retry so dekorieren, dass ein Test x x Mal durchlaufen wird, wenn ein Fehler auftritt. Gibt es eine Möglichkeit programmgesteuert abzurufen, wie oft der Test wiederholt wurde?Wie kann ich die NUnit Retry-Iteration programmgesteuert erhalten?

Ich möchte einige Code auszuführen, je nachdem, wie viele Iterationen der aktuelle Test durch, wie gegangen ist:

if(CurrentTest.Retries > 1) 
{ 
    //do something 
} 

Ich habe überprüft unter TestContext.CurrentContext, aber es erscheint der Zugriff auf das Attribut keine Möglichkeit, Werte noch wie oft der aktuelle Test über das Attribut Retry durchlaufen wurde.

Antwort

2

Es gibt keine eingebaute Möglichkeit, das zu tun. NUnit behält die Zählung intern bei.

Ihre Problemumgehung besteht darin, ein Instanzelement beizubehalten, das die Anzahl verfolgt, sie auf Null initialisiert und sie bei jeder Ausführung der Methode inkrementiert. Wenn Sie dies für mehr als eine Methode tun möchten, benötigt jeder einen eigenen Zähler.

Es scheint mir, dass dies eine sinnvolle Funktion Anforderung des NUnit-Teams wäre.

Verwandte Themen