测试覆盖率是一个很好的指标,可以跟踪代码库的哪些部分被测试所覆盖。衡量测试覆盖率有助于开发人员明确如何改进测试,以确保代码库的所有功能都得到良好的测试。如果执行测试套件导致80%的包的源语句被运行,我们说测试覆盖率是80%。
在实施测试覆盖率之前,我们一直在寻找解决这个问题的类似产品。我们评估了这些产品,并从最终用户的角度来看,以了解开发人员到底是如何使用这些产品的。我们观察到,在我们考察的工具中,工作流程和模式非常相似。让我们把它们归为四个部分。
1.开发、这些工具是如何与现有的开发工作流程相结合的?
在每一个代码变更中,测试作为CI构建管道的一部分运行。生成覆盖率文件并报告给Coveralls、Codecov等工具。
2.展示、测试覆盖率结果如何显示?
所有的工具都提供类似的信息类型。首先,代码库的整体测试覆盖率。第二,一个包含所有文件的文件浏览器和针对它的覆盖率百分数。
3.交互性、开发人员如何与结果互动?
开发人员访问项目仪表板,点击覆盖率低于阈值的文件,浏览该文件,看看标有红色的行(漏掉的行)。
4.行动、看完结果后的行动是什么?
根据代码库中特定部分的关键性,开发人员在他们的错误跟踪系统中创建一个问题,以努力提高测试覆盖率。
介绍一下,测试覆盖率分析器
在DeepSource,我们努力实现与本地软件开发工作流程的无缝集成,并优化以帮助您解决问题,而不仅仅是让您知道。全新的测试覆盖率分析器允许你做两件重要的事情--不多,也不少:
- 追踪项目的整体覆盖情况
- 对未被测试覆盖的线路采取行动
这就是它的外观:

你可以使用我们的开源CLI将测试覆盖率从你的CI系统报告给DeepSource--你会喜欢它的设置是如此简单。我们已经为Travis CI和Circle CI编写了指南。
让我们知道你的想法。下面是Masonite框架的创建者Joe的看法。
"DeepSource很好!当涉及到代码问题时,节省了大量的时间。它与Masonite的GitHub状态检查同时弹出,所以我清楚地知道问题是什么。我真的很喜欢DeepSource!"