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

Python中的分布式单元测试和代码覆盖率,python,unit-testing,mapreduce,code-coverage,distributed,Python,Unit Testing,Mapreduce,Code Coverage,Distributed,我当前的项目有一个从单元测试中100%覆盖代码的策略。我们的持续集成服务将不允许开发人员在没有100%覆盖率的情况下推送代码 随着项目的发展,也有时间运行完整的测试套件。虽然开发人员通常会运行与他们正在更改的代码相关的测试子集,但他们通常会在提交给CI之前进行最后一次完整运行,并且CI服务器本身也会运行完整的测试套件 单元测试本质上是高度可并行的,因为它们在测试之间是自包含和无状态的。它们只返回两条信息:通过/失败和覆盖的代码行。map/reduce解决方案似乎可以很好地工作 是否有任何Pyth

我当前的项目有一个从单元测试中100%覆盖代码的策略。我们的持续集成服务将不允许开发人员在没有100%覆盖率的情况下推送代码

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

单元测试本质上是高度可并行的,因为它们在测试之间是自包含和无状态的。它们只返回两条信息:通过/失败和覆盖的代码行。map/reduce解决方案似乎可以很好地工作


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

我不知道有任何测试框架可以运行分布在一组机器上的测试,但nose支持使用


至少,这可能是一个创建分布式测试框架的好地方,这并不完全是您所看到的,但我能回忆起的最接近Hadoop的地方是使用JUnit进行Hadoop测试。这是你的电话号码。如邮件搜索
gridunit
论文中所述


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

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


我知道py.test有一个插件,它添加了分布式测试执行器。您可以使用它在上面编写CI基础结构

“你找到了你想要的东西吗?”stair314遗憾的是没有。我们通过优化单元测试本身和减少大量不必要的工作,赢得了更多的时间。我们还将机器添加到CI集群中,以便并行构建(和测试),但我们仍然每次都运行所有测试。希望在某个时候,我们能够在这个问题上集中一些开发工作。链接已经失效。