从命令行运行测试时输出Console.WriteLine内容

2018年6月6日

测试方法调用Console.WriteLine()System.Diagnostics.Trace.WriteLine()时,Visual Studio测试管理器的测试输出窗口能成功显示追踪内容。

但是,如果用dotnet test ,则不会输出追踪内容。

难道Visual Studio使用了某种魔法获取了追踪内容吗?

其实,Visual Studio调用的不是dotnet test,而是vstest.console/Logger:trx选项可以把测试结果保存为文件,该文件里保存有追踪内容。我猜想Visual Studio正是读取了trx文件把测试输出填充到测试输出窗口的。