Die NUnit-Konsole meldet die Testergebnisse während des Testlaufs und nach jedem Test

StackOverflow https://stackoverflow.com//questions/22070217

  •  23-12-2019
  •  | 
  •  

Frage

Ich führe die NUnit-Konsole auf meiner Testbaugruppe aus, aber manchmal stürzt meine NUnit ab (ich finde gerade heraus, warum).Wenn Nunit abstürzt, wird kein XML-Bericht erstellt und ich habe praktisch keinen Testbericht mehr.Der Testlauf ist sehr lang und es ist schlimm, wenn ich den gesamten Testlaufbericht verliere.Gibt es eine Möglichkeit, NUNit anzuweisen, die XML-Protokolldatei während des Vorgangs (nach jedem Test) zu schreiben?Auch wenn das bedeutet, dass die XML-Datei nicht richtig geschlossen wird.Ich weiß, dass es möglich ist, NUnit TestListener zu verwenden.Aber gibt es einen Schalter oder etwas, bei dem ich nicht selbst zusätzlichen Code schreiben muss?

War es hilfreich?

Lösung

Du könntest anrufen nunit-console mit dem /labels Befehlszeilenschalter.Dadurch wird der (vollqualifizierte) Name jedes Tests während der Ausführung in die Konsole geschrieben, obwohl die Ausgabe das Testergebnis nicht enthält.Es würde Ihnen jedoch zeigen, welche Tests erfolgreich durchgeführt wurden.

Die einzige andere Möglichkeit ist die, die Sie vergünstigt haben, nämlich Ihre eigene zu schreiben EventListener Implementierung. Die Dokumentation zu dieser Schnittstelle ist ein wenig hell, aber die NUnit-Dokumentation zum Schreiben einer NUnit-Add-In-Assembly Sollte Ihnen den Einstieg erleichtern, wenn Sie Ihre Meinung dazu ändern.

Andere Tipps

Zunächst einmal in naher Zukunft sieht es aus, als würde eine solche Protokollierung von Nunit aus der Box bereitgestellt werden. Diese Funktion wurde bereits angefordert - Teilergebnisse schreiben XML als Tests statt am Ende .

Bis zum Erfolgen müssen wir einen benutzerdefinierten Code schreiben, und in dem Fall, dass Sie Nunit <3.x nutzen, ist es ziemlich einfach:
1) Sie müssen einen Ereignislistener erstellen, der EventLISTENER-Schnittstelle implementiert
2) Diese Schnittstelle enthält Benachrichtigungen für verschiedene Testausführungszustände, z. Runstarted, Runfiniert oder testfiniert. Alles, was Sie brauchen, ist eine Implementierung der für Ihren Fall relevanten Protokollierung. Snippet von meinem Code:

generasacodicetagpre.

3) Das letzte ist die Erstellung von Nunit Addin:

generasacodicetagpre.

Hinweis: Es gibt einen ziemlich guten Artikel http: / /JIMMYKEEN.NET/2015/02/28/Logging-Test-Results-with-nunit/ , der einen ähnlichen Ansatz und mehr umfasst.
Leider funktioniert es für nunit <3.x nur Da Nunit3 stark neu geschrieben wurde - z. Keine Eventlistener-Schnittstelle mehr.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top