我的当前项目要求其单元测试覆盖率达到100%。我们的持续集成服务不允许开发人员在没有达到100%覆盖率的情况下推送代码。
随着项目的发展,运行整个测试套件所需的时间也随之增长。虽然开发人员通常只运行与他们修改的代码相关的子集测试,但他们通常会在提交到CI之前进行最后一次完整运行,而CI服务器本身也会运行整个测试套件。
由于单元测试天生就非常易于并行化,因为它们是自包含和无状态的。它们仅返回两个信息:通过/失败和覆盖的代码行数。因此,采用Map/Reduce解决方案似乎会非常有效。
是否有Python测试框架可以在机群上运行具有代码覆盖率,并在完成后合并结果的测试呢?