使用/ Logger运行时的VSTest.Console:控制台不会从测试方法打印调试输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用/ Logger运行时的VSTest.Console:控制台不会从测试方法打印调试输出相关的知识,希望对你有一定的参考价值。
我正在使用Visual Studio 2015.我正在尝试打印一些语句,仅用于跟踪非常长时间运行的测试。当使用VSTest.Console和/ Logger:trx时,调试输出(无论我们使用Console.WriteLine(),Debug.Writeline()还是Trace.WriteLine())都会进入生成的trx文件。但是,使用/ Logger:Console运行时,自定义调试输出不会显示在控制台输出上:仅显示测试结果。我甚至通过参考以下内容编写了自己的扩展名:
但是,目前尚不清楚如何从测试内部发送TestMessage,以便调用TestMessageHandler并打印输出。
我认为扩展在这里实际上可能是多余的,我可以使用作为Visual Studio Extensions的一部分的控制台记录器。也许我需要进行特定的调用来发送信息性消息,或者需要使用正确的命令行开关。
我现在正在使用以下命令:
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>
我想知道在使用Console记录器时是否也可以显示相同的信息。
现在VS 2017 15.5.2+中的行为已更改,现在它会发出输出。
以上是关于使用/ Logger运行时的VSTest.Console:控制台不会从测试方法打印调试输出的主要内容,如果未能解决你的问题,请参考以下文章