我正在使用 Visual Studio 2015。我正在尝试打印一些语句,只是为了跟踪一个非常长时间运行的测试。当将 VSTest.Console 与 /Logger:trx 一起使用时,调试输出(无论我们使用 Console.WriteLine()、Debug.Writeline() 还是 Trace.WriteLine())都会进入生成的 trx 文件。但是,当使用 /Logger:Console 运行时,自定义调试输出不会显示在控制台输出上:只显示测试结果。我什至通过参考以下内容编写了自己的扩展:
但是,尚不清楚如何从测试内部发送 TestMessage 以便调用 TestMessageHandler 并打印输出。
我认为扩展在这里实际上可能是多余的,我可以使用作为 Visual Studio 扩展一部分的控制台记录器。也许我需要进行特定的调用来发送信息性消息,或者需要使用适当的命令行开关。
我现在正在使用以下命令:
Vstest.Console.exe <Test dll> /logger:Console
测试运行但仅产生以下输出:
开始执行测试,请稍候... 已通过 TestMethod1
总测试:1.通过:1.失败:0.跳过:0.测试运行成功。测试执行时间:3.3929 秒
而 trx 文件在输出部分下有以下部分,其中包括 console.writeline() 和 debug.trace() 输出:( 下面显示的文本仅用于示例)
<Output>
<StdOut>
Test Started
Test Ended
Debug Trace:
Test started
Test ended
</StdOut>
</Output>
我想知道在使用控制台记录器时是否也可以显示相同的信息。