这个工具不要钱——搞C++的来看看

本文转载于搜狗测试

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版本优化的内容无法定位。

多模块依赖比较繁琐。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,785评论 25 709
  • 软件的持续集成工具之一,易上手,功能强大,话不多说,干货奉上。我的博客地址:http://blog.lzoro.c...
    格子Lin阅读 14,229评论 10 41
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,710评论 19 139
  • 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是...
    yongliu1229阅读 7,780评论 0 4
  • 7句话总结菲尔·奈特的一生 1,年轻时不满足于一份工作,专业或职业而安定下来,想要寻找内心的冲动 2,对体育精神的...
    李阿伦阅读 7,977评论 0 0