MSBuild 的目标是运行所有测试,即使某些测试失败
我有一个使用控制台运行程序运行 NUnit 单元测试的 MSBuild 脚本。有多个测试项目,如果可能的话,我想将它们保留为单独的 MSBuild 目标。如果测试失败,我希望整体构建失败。但是,我想继续运行所有测试,即使其中一些测试失败。
如果我设置 ContinueOnError="true"
则无论测试结果如何,构建都会成功。如果我将其保留为 false,则构建会在第一个测试项目失败后停止。
I have an MSBuild script that runs NUnit unit tests, using the console runner. There are multiple tests projects and I'd like to keep them as separate MSBuild targets, if possible. If the tests fail I want to overall build to fail. However, I want to continue running all the tests, even if some of them fail.
If I set ContinueOnError="true"
then the build succeeds regardless of test outcomes. If I leave it at false then the build stops after the first test project that fails.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实现此目的的一种方法是为 NUnit 任务设置
ContinueOnError="true"
,但从 NUnit 进程中获取退出代码。如果退出代码为 != 到 0,则创建一个新属性,您可以稍后在脚本中使用该属性来使构建失败。例子:
One way to do this would be to set the
ContinueOnError="true"
for the NUnit tasks but grab the exit code of the from the NUnit process. If the exit code is ever != to 0 create a new property that you can use later on in the script to fail the build.Example: