我们有一个基于python的Web应用程序及其单元测试用例。我们需要自动化运行单元测试用例的过程。它们应该在每次检查后运行或在每个固定的时间间隔后运行。用最少的努力和时间,我们可以使用什么最好的工具来自动化这个过程。我们使用Linux作为操作系统和git作为源代码控制。
答案 0 :(得分:3)
你基本上在寻找continuous integration工具和流程(我提到艺术术语,因为它可以帮助你更深入地研究这个主题)。 buildbot是最受欢迎的Python系统,我建议使用它 - 请参阅here了解更多信息。
答案 1 :(得分:2)
Hudson是一个很好的选择 - 我过去曾成功使用它。它将监视git存储库的变化;运行测试并报告故障。它将在您的项目中保留测试历史记录。它有大量的plugins来支持python个项目。 Cobertura插件提供了代码覆盖率报告以及与pylint集成的违规插件,可让您了解代码质量。
有一篇关于在Setting up a Python CI Server上Rhonabwy.com进行设置的好文章。
答案 2 :(得分:1)
您的目标是确定哪些签入导致测试失败。很棒的直觉!
您正在使用Git,因此您可能希望从githooks开始,这将允许您创建一个post-commit
脚本,该脚本在提交后运行测试。如果您感觉很勇敢,如果测试失败,您甚至可以拒绝用户的提交 - 请查看this chapter in Pro Git以获取更多信息。
Alex对于持续整合和Builtbot:
是正确的通过自动重建和 每次都测试树 已经改变,构建问题是 在其他之前迅速查明 开发人员对此感到不便 失败。有罪的开发者可以 在没有人的情况下被识别和骚扰 介入。通过运行构建 各种平台,开发人员 没有测试设施 他们以前到处都是变化 checkin至少会知道 之后他们是否已经破产 建造与否。警告计数,棉绒 检查,图像大小,编译时间和 可以跟踪其他构建参数 随着时间的推移,更加明显,并且是 因此更容易改进。“