java差异代码覆盖率
我们正在向以前未经测试的代码中添加单元测试,因为需要修改该代码。很难获得有用的覆盖率指标,因为已知任何包中的大多数代码都未经测试
是否有任何工具可用于测量差异代码覆盖率,即单元测试覆盖的给定变更集中修改的代码百分比
你可以在下面搜索框中键入要查询的问题!
我们正在向以前未经测试的代码中添加单元测试,因为需要修改该代码。很难获得有用的覆盖率指标,因为已知任何包中的大多数代码都未经测试
是否有任何工具可用于测量差异代码覆盖率,即单元测试覆盖的给定变更集中修改的代码百分比
# 1 楼答案
看看Sonar,它是分析整个应用程序质量和覆盖范围的好工具
# 2 楼答案
你可以用diff-test-coverage来做这个
diff-test-coverage
是一个节点。js命令行工具,根据(源代码控制)差异过滤测试覆盖率它的工作原理是过滤覆盖率报告信息,以便报告新代码的覆盖率信息
它支持Git和Mercurial以及所有常见的报道格式
# 3 楼答案
使用pycobertura。它是一个命令行工具,通过区分两个覆盖率报告来防止代码覆盖率回归。它会告诉你你的新代码比以前的版本更好还是更差,覆盖率方面
它与语言无关,因为它只依赖于测试/覆盖工具生成的Cobertura报告(XML文件)
Pycobertura还可以生成HTML报告,这些报告非常适合于CI/CD工具,比如Jenkins
https://github.com/aconrad/pycobertura
# 4 楼答案
我最近正是这样做的,使用JaCoCo和ConQAT框架进行代码分析。方法如下:
还有一个blog post包含更详细的描述,包括可视化和更高级的主题,如重构检测,以仅识别值得测试的更改
# 5 楼答案
有一个gradle插件可以计算不同的代码覆盖率
https://github.com/form-com/diff-coverage-gradle
你只需要为插件提供diff文件,或者你可以使用
git diff
工具,如the example# 6 楼答案
像Jenkins这样的持续集成工具可以让你保存测试覆盖率的历史记录,并向你展示一个图表,其中包括与以前版本相比的覆盖率趋势。例如:Cobertura Jenkins Plugin