【问题标题】:mercurial: running remote regression tests automatically on every commitmercurial:在每次提交时自动运行远程回归测试
【发布时间】:2012-01-30 17:19:00
【问题描述】:

每次我做出一些我认为可能有效的更改时,我都会提交:在提交之前我不会进行广泛的测试。此外,我的提交很快就会自动成为pushed to a remote repository。 (我是唯一的开发者,每天要多次添加功能或重写部分代码。)

我想设置一台远程计算机,以便在我提交任何内容时自动运行回归测试;然后通过电子邮件将差异报告发回给我。

最简单的设置方法是什么?

我所有的代码都在 Python 3 中。我自己的系统是 Windows 7、ActiveState Python、TortoiseHG 和 Wing IDE。我可以将远程计算机设置为 Linux 或 Windows。该应用程序全是命令行,具有文本输入和输出。

【问题讨论】:

    标签: python testing mercurial dvcs regression-testing


    【解决方案1】:

    使用BuildbotJenkins 等连续集成服务器并将其配置为监控存储库。然后使用它运行测试。 Buildbot 是用 Python 编写的,因此您应该对它感到宾至如归。

    如果您觉得让 Buildbot 或 Jenkins 轮询存储库很浪费(即使 hg pull 在没有新变更集时使用很少的资源),那么您可以在存储库中配置一个 changegroup 挂钩来触发构建在 CI 服务器中。

    【讨论】:

    • 我们运行 TeamCity,另一个出色的持续集成服务器。
    • @StrangeWill:我听说过关于 TeamCity 的好消息,例如它可以在代理上安排构建,该代理已经有一个与上游克隆最相似的克隆,因此 hg pull 很快为客户。我在回答中只关注开源工具,因为这是我对自己最有经验的东西。
    【解决方案2】:

    我建议设置Buildbot。您可以让它监视远程存储库(支持 Mercurial)并在存储库更改时自动启动构建。在您的情况下,构建只是运行您的测试套件。

    它的瀑布显示允许您查看哪些构建失败以及何时失败,与来自存储库的提交相关。它甚至可以在出现问题时通过违规提交通知您。

    Jenkins 是另一种选择,支持大多数相同的功能。甚至还有云托管选项,例如可以为您托管的 ShiningPanda,并且它们为开源项目提供免费许可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多