当前位置:  开发笔记 > 编程语言 > 正文

失败的测试会导致连续构建失败吗?

如何解决《失败的测试会导致连续构建失败吗?》经验,为你挑选了2个好方法。

如果某个项目的某个项目具有在构建计算机上作为构建过程的一部分执行的测试,那么如果集合测试失败,那么整个构建是否会失败?
回答这个问题时应该考虑哪些事项?哪些测试失败了?


提示此问题的背景信息:

目前我正在开发一个具有NUnit测试的项目,这些测试是作为构建过程的一部分完成的,并在我们的巡航控制.net构建机器上执行.

该项目曾经被设置,以便在任何测试失败时,构建失败.原因是如果测试失败,这意味着产品不工作/不完整/它是项目的失败,因此构建应该失败.

我们添加了一些测试,尽管它们失败了,但它们对项目并不重要(详见下文).因此,如果这些测试失败,项目就不会完全失败,我们仍然希望它能够构建.

其中一个测试通过验证不正确的参数会导致异常,但测试未通过的是检查所有允许的参数不会导致异常的测试.因此,班级拒绝所有无效案件,但也拒绝一些有效案件.这对项目来说不是问题,因为被拒绝的有效参数是边缘情况,应用程序将不依赖于这些情况.



1> Joachim Saue..:

如果它以任何方式可行,那就去做吧.它大大减少了破窗问题:

在没有(可见)缺陷的系统中,引入一个小缺陷通常被认为是一个非常糟糕的主意.因此,如果您有一个绿色状态的项目(没有单元测试失败)并且您引入了第一个失败测试,​​那么您(和/或您的同行)将有动力解决问题.

另一方面,如果存在已知的失败测试,​​则仅添加另一个损坏的测试被视为保持现状.

因此,您应始终努力保持所有测试运行(而不仅仅是"大部分").并且将每一次失败的测试都视为失败的原因,这也是实现这一目标的重要途径.



2> Toon Krijthe..:

如果单元测试失败,则某些代码将无法正常工作。因此,不应发布代码。

尽管您可以出于测试/错误修复的目的进行构建。

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有