2013-07-31 56 views
0

对于一个小型开发团队(6名开发人员),我设置了Gerrit和Jenkins以允许进行代码审查和CI。两者之间的整合工作正常,Jenkins编译和测试代码。Gerrit/Jenkins处理测试失败

但是,我无法决定如何处理失败的失败测试。目前,如果测试失败,那么构建也被视为失败。如果更改的功能导致测试失败,那么如何处理?或者当测试得到改进并发现破碎的代码?人们总是会修复破碎的代码,并将测试变更并修复为单个提交?

回答

1

http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-labels.html

您可以添加额外的话题进行测试,因此,建立验证测试+1 -1,所以将它分类,这需要詹金斯作业的一些配置为testjobs有报到与构建验证工作不同的方式。

但无论如何它为我做。

+0

您是否使用单独的作业进行测试?很好的答案! – mycroes

+0

是的,我们有单独的工作来进行测试和构建:) –

+0

我在尝试多种工作方式,但是你用什么作为触发器?您是否使用上游构建项目和下游测试项目?你有没有在网上的细节?我很难很好地解决问题,或者找到有关正确解决方案的文档。 – mycroes

0

这是一个很好的问题,它归结于您的开发方法。我宁愿保持提交尽可能小和紧凑,所以我想分开测试更改和代码修复。

您可以先上传代码修正,并且不会上传您的测试更改,直到代码修复被合并。但是,如果测试更改可用,则有助于评审人员理解代码修复的必要性。

如果您的测试框架支持它,我会首先进行测试更改,但会将测试标记为预期失败。然后上传代码修复程序并删除该测试中的标志。

希望别人会用不同的方法解决这种情况!

+0

这难道不是那么容易出错吗?如果修复不正确,并且您忘记删除预期失败,代码仍然会被破坏。我也想保持提交小,我们尽可能坚持gitflow。另外,在测试驱动的开发中,遇到失败的测试并不罕见,但是我目前的设置不允许这样做...... – mycroes