本文转载于搜狗测试
OpenCppCoverage是Windows下的C ++的一个开源代码覆盖工具。主要用途是进行单元测试的覆盖面,但你也可以用它来了解一个程序用于调试目的执行的行——行覆盖哦!
特点:
Non intrusive:只需要通过OpenCppCoverage运行程序,不需要重新编译应用程序。
Visual Studio support: Support compiler with programdatabase file (.pdb).
Run as Visual Studio Plugin: See here for moreinformation.
Low overhead.
Line coverage.
Jenkins support: See here for more information.
Coverage aggregation: Run several code coverages andmerge them into a single report.
Child processes coverage.
HTML reporting:
关于代码覆盖率工具我们之前都是通过打桩来完成,在代码中插入相关的桩来统计覆盖度。OpenCppCoverage使用起来非常简单,它不需要在编译时插桩,只需要有pdb文件,运行时插桩,通过OpenCppCoverage启动进程即可。
使用方法如下:
覆盖率详细结果:
官网上提供了详细的使用文档和与jenkins的集成文档,
使用文档:https://opencppcoverage.codeplex.com/documentation
Jenkins集成:https://opencppcoverage.codeplex.com/wikipage?title=Jenkins
Jenkins集成
对比我们之前自己开发的覆盖率工具(ImeCodeCoverage),感兴趣的小伙伴可以回复“覆盖率工具”搜索一下。
优点:
无需编译汇编文件,定位函数。
无需插桩,程序的一致性。
支持多种覆盖方式。
缺点:
Release版本优化的内容无法定位。
多模块依赖比较繁琐。