如果有一个项目具有作为构建机器上的构建过程的一部分执行的测试,如果一组测试失败,整个构建是否会失败?
回答这个问题时应该考虑什么?这些测试失败了吗?促使这个问题如果失败的测试会使连续构建失败?
背景资料:
目前我的工作有NUnit测试,完成作为构建过程的一部分,我们的cruise control .net构建机器上执行一个项目。
该项目用于设置,以便如果任何测试失败,构建失败。推理是如果测试失败,这意味着产品不能正常工作/不完整/项目失败,因此构建失败。
我们已经添加了一些测试,虽然他们失败了,但他们对项目并不关键(详情见下文)。所以如果这些测试失败了,那么这个项目并不是完全失败,我们仍然希望它能够建立。
其中一个通过的测试验证不正确的参数导致异常,但测试未通过的是检查所有允许的参数是否为而非导致异常的测试。所以班级拒绝所有无效的案件,但也有一些有效的案件。这对于这个项目来说并不是问题,因为被拒绝的有效论据是应用程序不会依赖的边缘案例。
+1:“附带案件”不是理由。修复代码或修复测试。 – 2009-01-30 14:09:39