对于一个小型开发团队(6名开发人员),我设置了Gerrit和Jenkins,以允许代码审查和CI。两者之间的集成工作良好,Jenkins编译并测试了代码。
然而,我无法决定如何处理失败的失败测试。目前,如果测试失败,那么构建也被视为失败。如果功能更改导致测试失败,将如何处理?或者当测试得到改进并发现损坏的代码时?是否也会修复损坏的代码,并将测试更改和修复压缩到单个提交中?
这是一个很好的问题,它涉及到您的开发方法。我更喜欢保持提交尽可能小和紧凑,因此我希望将测试更改和代码修复分开。
您可以先上传代码修复,在合并代码修复之前,不要上传测试更改。但是,测试更改可用有助于审查人员理解为什么代码修复是必要的。
如果您的测试框架支持它,我将首先进行测试更改,但将测试标记为预期失败。然后上传代码修复并删除该测试上的标志。
希望其他人会加入进来,提出不同的解决方案!
http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-labels.html
您可以添加一个用于测试的附加主题,因此构建验证是1测试-1,因此将其划分为类别,这需要对jenkins作业进行一些配置,因为测试作业必须以与构建验证作业不同的方式报告。
但不管怎样,它对我有好处。
问题内容: 我在Python-Django网站上工作。我使用GIT作为我的VCS。对于持续集成,我使用Jenkins CI。我已经使用Python设置了两个虚拟环境,一个用于开发,另一个用于预生产。 我的问题:我为网站编写了许多单元测试,回归测试和冒烟测试。我的开发和预生产虚拟环境都连接到Jenkins CI。 最近,每当将代码更改推送到Jenkins CI中的两种环境时,测试都会随机失败。有时,
我试图用jenkins execution命令测试我的java项目,但是我得到了以下错误消息: 有关单个测试结果,请参阅/var/jenkins_home/workspace/test1/target/surefire-reports。请参阅转储文件(如果存在)[date].dump,[date]-jvmrun[N].dump和[date].dumpstream。分叉的VM在没有正确地说再见的情况
我在Jenkins的plugin,这个插件可以运行现场测试,但不能由调度器自动运行。这个提供了按钮,但我必须自己点击它。 问题:我可以对按钮或任何其他建议进行变通吗? 目标是:再次自动运行失败的测试。
问题内容: 我已经设置了一个Jenkins服务器来运行Selenium测试。生成脚本是用Ant(CentOS 6.3上的v 1.7.1)编写的,并且测试在Sauce Labs上运行。我通过外壳执行构建: 问题是测试失败时,詹金斯(Jenkins)将其标记为成功。我可以通过将设置为来避免这种情况,请参阅: 但是,这并不理想,因为Jenkins会在遇到第一个故障时终止构建。构建完成后是否可以检查失败,
我已经设置了一个Jenkins服务器来运行Selenium测试。构建脚本是用Ant(CentOS 6.3上的V1.7.1)编写的,测试在Sauce实验室上运行。我通过shell执行构建: