在vstest.console.exe中运行多个单元测试时格式化控制台输出

时间:2017-01-19 14:24:29

标签: c# unit-testing formatting vstest vstest.console.exe



情况
我使用vstest.console.exe一次运行一些单元测试项目。此外,我对控制台输出感兴趣,因为我无法使用I / O操作将结果记录到.trx文件。我也仅限于vstest.console.exe的一个实例。所以我想一次运行UnitTests1.dll,UnitTests2.dll等。我是按照vstest.console.exe UnitTests1.dll UnitTests2.dll的方式实现这一目标的。这可以正常运行测试,我得到我的控制台输出。

问题
我遇到的问题是输出的格式。它看起来像这样default output from the console。问题是所有单元测试项目都捆绑在一起,好像我正在运行一个单元测试项目。

目标
我希望将每个Unit Test项目的输出放在它自己的单独行上,就像这样 UnitTests1: Total tests: 3. Passed: 2. Failed: 1. Skipped 0. UnitTests2: Total tests: 3. Passed: 3. Failed: 0. Skipped 0.

换句话说,甚至可以在vstest.console.exe中格式化* console输出?提前谢谢!

1 个答案:

答案 0 :(得分:1)

default vstest.console.exe不支持格式化,但它有记录器选项,您可以在其中指定要对输出执行的操作。在GitHub上创建了记录器。

您可以强制vstest.console.exe制作带有结果的xml格式文件,然后使用您的应用解析结果(根据需要) - >基本上创建包装器。