Ich benutze Visual Studio 2015. Ich versuche, einige Anweisungen nur für die Verfolgung eines sehr langen laufenden Tests zu drucken. Wenn VSTest.Console mit/Logger verwendet wird: trx die Debug-Ausgabe (ob wir Console.WriteLine(), Debug.Writeline() oder Trace.WriteLine()) verwenden, wird in die trx-Datei geschrieben, die generiert wird. Wenn sie jedoch mit/Logger: Console ausgeführt wird, wird die benutzerdefinierte Debugausgabe nicht auf der Konsolenausgabe angezeigt: nur das Testergebnis wird angezeigt. Ich habe meine eigene Erweiterung auch unter Bezugnahme auf die geschrieben:VSTest.Console bei Ausführung mit/Logger: Konsole druckt keine Debugausgabe von Testmethode
Es ist jedoch nicht klar, wie ein Testmessage von innen einen Test zu senden, so dass die TestMessageHandler aufgerufen wird und Ausgabe gedruckt wird.
Ich denke, dass eine Erweiterung tatsächlich redundant sein kann, und ich möglicherweise in der Lage, die Konsolenprotokollierung verwenden, die als Teil von Visual Studio Extensions kommt. Vielleicht muss ich einen bestimmten Anruf tätigen, um die Informationsnachricht zu senden, oder muss einen richtigen Befehlszeilenschalter verwenden.
Ich bin mit dem folgenden Befehl jetzt:
Vstest.Console.exe <Test dll> /logger:Console
Der Test läuft, erzeugt aber nur die folgende Ausgabe:
Starttestausführung, bitte warten ... Bestanden TestMethod1
Gesamttests: 1. bestanden: 1. fehlgeschlagen: 0. übersprungen: 0. Testlauf erfolgreich. Test-Ausführungszeit: 3,3929 Sekunden
Während die TRX-Datei hat unter Ausgangsabschnitt folgende Abschnitten umfassen, die die Console.WriteLine() und debug.trace() Ausgänge: (der Text unten gezeigt wird, ist nur für die zum Beispiel)
<Output>
<StdOut>
Test Started
Test Ended
Debug Trace:
Test started
Test ended
</StdOut>
</Output>
Ich frage mich, ob es auch möglich sein könnte, die gleichen Informationen zu zeigen, wenn Sie den Console Logger verwenden.
Großartig! Ich werde das testen, wenn ich eine Chance bekomme. Vielen Dank! –