2016-08-09 98 views
0

Hallo Ich wollte eine Frage bezüglich der Teardown Methode der Selen und Nunit Test-Tools stellen.Zeigen Sie eine Nachricht auf den Test-Erfolg unter dem Testfall

Jetzt habe ich einen bestimmten Test und ich bin das neueste Nunit Framework, die leider etwas nicht akzeptabel in Tests gemacht, die ich nicht ist Assert.pass Methode innerhalb einer Funktion Teardown verwenden kann. Ich verwende Assert.pass tatsächlich, um eine bestimmte Nachricht unter dem Testfall in Visual Studio anzuzeigen. Gibt es eine Möglichkeit, diese Nachricht ohne die Funktion Assert.pass anzuzeigen?

Vielen Dank im Voraus.

+0

Warum können Sie nicht 'Console' oder' Assert' verwenden? –

+0

Es ist eine Testklasse mit Nunit und Assert kann nicht in der Teardown-Methode seit Version 3 verwendet werden .. Konsole funktioniert nicht, ich habe nicht einmal ein Terminal, wenn ich den Testfall ausführen, um die Ausgabe zu sehen. –

+0

Sie müssen genauer angeben, wo die Nachricht geschrieben werden soll. – JeffC

Antwort

1

Da der NUnit Adapter derzeit arbeitet, derzeit die einzige Möglichkeit, eine Nachricht zu veranlassen, unter dem Baum erscheinen soll durch eine versagende Behauptung oder durch Verwendung Assert.Ignore, Assert.Pass usw.

Als NUnit arbeitet, Sie können keine Behauptungen, auch Assert.Pass, in Teardown verwenden, ohne einen Fehler zu verursachen. Das liegt daran, dass der Test zu diesem Zeitpunkt bereits beendet ist und das Ergebnis gesetzt ist.

Zwei Abhilfen:

  1. Put Assert.Pass in jedem Test.

  2. Erstellen Sie ein Aktionsattribut, um nach jedem Test Code auszuführen. Ich habe das nicht ausprobiert und ich schaue mir den Code jetzt nicht an, also keine Garantie für diesen. :-)

+0

Dank so viel Charlie, würde ich möglicherweise für die erste Problemumgehung gehen, aber das Problem ist das Projekt ist riesig und es gibt eine Menge von Testfällen, so muss ich Assert.pass in jedem Test aufrufen. Wie auch immer, würden Sie mir helfen, diese Frage zu beantworten, da Sie Nunit wissen? http://stackoverflow.com/questions/38854137/selenium-grid-with-nunit-3-0-implemented-in-c-sharp –

0

Verwenden Sie Console.WriteLine("") Wenn Sie es in das Ausgabefenster drucken möchten.

+0

Danke für Ihre Hilfe, aber console.writeline ist nicht das, was ich in dieser Anwendung will. –