2017-06-26 1 views
2

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

https://blogs.msdn.microsoft.com/vikramagrawal/2012/07/26/writing-loggers-for-command-line-test-runner-vstest-console-exe/

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.

Antwort

1

Das Verhalten wird jetzt in VS 2017 15.5.2+ geändert, es gibt jetzt die Ausgabe aus.

+0

Großartig! Ich werde das testen, wenn ich eine Chance bekomme. Vielen Dank! –