在Visual Studio(2017)中,我有两个项目:一个包含业务逻辑(MyProject),另一个包含一些NUnit测试(MyProject.Tests)。 MyProject具有以下Post-Build事件:
[path to nunit]\nunit-console.exe [path to MyProject.Tests]\MyProject.Tests.dll
构建MyProject时,将运行MyProject.Tests中的测试。 “输出”窗口显示在项目中运行测试的详细结果,这很好。但是,这些结果很容易在输出窗口的其他信息流中丢失,尤其是在同时构建其他项目的情况下。
如果任何测试失败,Visual Studio错误列表中将显示以下消息:
The command "[path to nunit]\nunit-console.exe [path to MyProject.Tests]\MyProject.Tests.dll" exited with code 3.
这很好看,可见;我喜欢它,我也会发现编译错误,等等。我认为错误列表也会显示每个失败的单元测试,所以我可以快速导航到每个,但目前它没有。
我已经查看了从控制台运行NUnit测试的各种命令行选项,但是我还没有找到任何方法来以错误列表识别的方式格式化输出。是否有可能做到这一点?
注意:如果在其中一个测试期间出现错误(即测试由于错误而无法运行),则该错误将出现在Visual Studio错误列表中。但是,对于普通的测试失败,情况并非如此。
我有一个似乎可行的解决方案,即使它确实采取了一些额外的步骤。如果有人知道更容易/更直接的解决方案,请随时加入。
我能够利用两件事:
所以我创建了一个简单的控制台项目,它读取NUnit生成的XML文件,然后以所需的格式将每个测试失败打印到控制台。我的post-build活动现在看起来像
can be formatted