对于一个小型开发团队(6 个开发人员),我设置了 Gerrit 和 Jenkins 以允许进行代码审查和 CI。两者之间的集成运行良好,Jenkins 编译和测试代码。
但是,我无法决定如何处理失败的失败测试。目前,如果测试失败,则构建也被视为失败。在功能更改导致测试失败的情况下如何处理?或者当测试得到改进并发现损坏的代码时?是否总是会修复损坏的代码,并将测试更改和修复压缩到单个提交中?
对于一个小型开发团队(6 个开发人员),我设置了 Gerrit 和 Jenkins 以允许进行代码审查和 CI。两者之间的集成运行良好,Jenkins 编译和测试代码。
但是,我无法决定如何处理失败的失败测试。目前,如果测试失败,则构建也被视为失败。在功能更改导致测试失败的情况下如何处理?或者当测试得到改进并发现损坏的代码时?是否总是会修复损坏的代码,并将测试更改和修复压缩到单个提交中?
http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-labels.html
您可以添加一个额外的测试主题,因此构建验证是 +1 测试 -1,因此将其划分为类别,这需要对 jenkins 作业进行一些配置,因为测试作业必须以与构建验证作业不同的方式报告。
但无论如何它对我有用。
这是一个很好的问题,它归结为您的开发方法。我更喜欢让提交尽可能小而紧凑,所以我想将测试更改和代码修复分开。
您可以先上传代码修复,在合并代码修复之前不要上传测试更改。但是让测试更改可用有助于审阅者了解为什么需要进行代码修复。
如果您的测试框架支持它,我会先进行测试更改,但将测试标记为预期失败。然后上传代码修复并删除该测试的标志。
希望其他人会针对这种情况提出不同的解决方案!