如果测试方法失败,如何使构建失败?

3
我的参考资料是这个 http://msdn.microsoft.com/de-de/library/ms182532.aspx 使用Visual Studio。假设有一个Solution Project.SuperApp,其中包含一些项目和一个单元测试项目。如果我想运行测试,我必须先构建解决方案,然后从Test-Explorer中运行所有测试。即使有一个测试失败,软件也已经构建好并准备部署。这似乎是一个错误。
对于其他工具,如Maven,如果要构建/打包软件组件,则首先执行测试。如果有一个测试失败,即使它编译成功,该软件组件也不会被构建/打包。
如何告诉Visual Studio首先执行测试用例,并在一个测试用例失败时失败构建?
提前致谢。

你为什么要这样做呢?你想运行每一个单元测试,无论是否失败。例如,如果你的前50个测试失败了,但你在第一个失败时停止构建,那么你需要至少构建50次才能获得所有的失败信息。这会延迟你的修复时间。 - Gusdor
不应该在第一个失败的测试上停止测试。每个测试都应该被执行。但是,如果有一个测试失败了,那么输出中就不应该有 .exe、.dll 等文件,因为显然存在错误。 - FuryFart
2
我不确定Maven的工作原理,但我没有看到在不实际编译库的情况下测试库的方法。您可以在构建代码之前运行一些静态分析,但这些不是单元测试。即使您选择使用调试版本进行单元测试,通常也会希望在某个时候(如果不是单元测试,则是集成测试)针对实际的发布版本运行测试,因为调试版本通常具有微妙的功能差异。而且,您可以轻松地使用脚本,该脚本将仅在单元测试成功时选择是否将输出复制到“已发布”文件夹中。 - vgru
1个回答

3

从TFS中,您可以通过以下步骤配置它在测试失败时失败:

  1. 编辑'构建定义'
  2. 选择流程
  3. 在2.基本>自动化测试下>选择测试程序集,您会看到'在测试失败时失败构建。将其设置为true。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接