首页 文章

Python中的分布式单元测试和代码覆盖

提问于
浏览
12

我目前的项目的单元测试的代码覆盖率为100% . 我们的持续集成服务不允许开发人员在没有100%覆盖的情况下推送代码 .

随着项目的不断发展,有足够的时间来运行完整的测试套件 . 虽然开发人员通常会运行与他们正在更改的代码相关的测试子集,但他们通常会在提交到CI之前执行最后一次完整运行,而CI服务器本身也会运行完整的测试套件 .

单元测试本质上是高度可并行化的,因为它们是从测试到测试的独立和无状态 . 它们只返回两条信息:通过/失败和覆盖的代码行 . map / reduce解决方案看起来效果很好 .

是否有任何Python测试框架可以在具有代码覆盖率的计算机集群中运行测试,并在完成后合并结果?

3 回答

  • 4

    我不知道任何测试框架将运行分布在一组机器上的测试,但是鼻子支持使用multiprocessing在同一台机器上并行化测试 .

    至少可能是开始创建分布式测试框架的好地方

  • 1

    我认为没有完全符合您需求的框架 .

    我知道py.test有xdist插件,它添加了分布式测试 Actuator . 您可以使用它来编写CI基础结构 .

  • 4

    不完全是你所看到的,但我记得最接近的是Hadoop小组正在使用JUnit进行Hadoop测试 . 这是mail . 正如邮件中提到的那样 gridunit 论文 .

    使用Hadoop以分布式方式进行单元测试非常有趣 . 围绕这个的任何框架都非常有用,但开发框架应该不是很困难 . 如有兴趣请告诉我 .

相关问题