如何使用OpenCppCoverage检查单元测试的行覆盖率
OpenCppCoverage是在Windows检查单元测试行覆盖率的一个工具。官网在OpenCppCoverage (github.com)
首先需要安装对应的可执行文件,点击链接Releases · OpenCppCoverage/OpenCppCoverage (github.com)
找到对应的版本下载接口
安装方式有两种,源码安装和二进制安装,这里选择二进制安装
一路下一步即可
安装完之后,打开Windows的命令行工具,这里用powershell,输入OpenCpp,命令行会自动补全命令
证明安装OK
进入单元测试的工作目录,我这里工作目录如下
进入工作目录,输入下面的命令
OpenCppCoverage.exe --source C:\KanziWorkspace_3_6_10_170\Projects\Loadimg\Application\src\plugin\src\ -- ..\output\Win32\GL_vs2015_Debug\Loadimg_executable.exe
其中OpenCppCoverage.exe表示运行程序
--source C:\KanziWorkspace_3_6_10_170\Projects\Loadimg\Application\src\plugin\src\ 表示要测试的源代码(不是单元测试代码)所在的路径(这个路径必须填写绝对路径)
-- ..\output\Win32\GL_vs2015_Debug\Loadimg_executable.exe表示单元测试的可执行文件(这个路径可以填写相对路径)
执行上述命令后,就会开始运行单元测试的代码,最终会输出一个单元测试的报告所在的路径,默认是HTML
打开报告就可以查看行覆盖率了
如何使用OpenCppCoverage检查单元测试的行覆盖率相关推荐
- 单元测试框架和覆盖率统计原理简析
一 背景介绍 最近部门在推进质量标准化,通过标准化研发.交付.部署.运维等过程,减少缺陷率和返工率,提高整体的工作效率.而单元测试又是软件研发过程中的重要一环,此文可以帮助理解单元测试插件的运行过程, ...
- uniq命令注意事项,检查重复行的时候,只会检查相邻的行。
今天在使用uniq命令统计数量时,uniq -c总是得不到想要的效果,相同的行没有合并,例如 后来在http://ju.outofmemory.cn/entry/78365才看到,原来uniq检查重复 ...
- .Net core基于xUnit的单元测试查看测试覆盖率
写代码如何保证代码质量,基本大家都知道要做单元测试,那如何知道你单元测试是不是测试到了所有代码场景呢,这就要通过测试覆盖率来体现了. 测试覆盖率,一般来说主要是Line代码行数覆盖率,同样还会有Bra ...
- php 单元测试 静态类,可选的PHP类型提示/检查单元测试或静态分析?
PHP类型提示不支持标量变量[1],如int或string 但是,我们发现在连续集成期间注释函数中的类型(int或string)以发现错误仍然非常有用,例如: 目前我用的方法就像 function f ...
- CppCheck静态代码检查配置(命令行方式或在VS中使用)
目录 CppCheck静态代码检查 1.1 安装cppcheck 1.2 直接使用Cppcheck 1.2.1 命令行方式 1.2.2 UI方式 1.3 在VS2017中使用 1.3.1 在VS201 ...
- 阿里是如何进行单元测试培训的?
一.什么是单元测试?(10 min) 维基百科中是这样描述的:在计算机编程中,单元测试又称为模块测试,是针对程序模块来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元 ...
- 软件测试随手记(转)
最近在准备网易测试工程师的实习笔试,边学边记了一些常考的知识点,放在这里以便复习之用. V模型 瀑布模型 驱动函数(一般为Main函数) 桩函数 黑盒测试: 等价类划分(逐个覆盖). 边界值分析(有序 ...
- Jenkins部署Python项目实战
一.背景 我们工作中常用Jenkins部署Java代码,因其灵活的插件特性,例如jdk,maven,ant等使得java项目编译后上线部署一气呵成,同样对于脚本语言类型如Python上线部署,利用Je ...
- 软件测试面试常见问题总结
1.软件测试级别? 单元测试:单元测试是对软件组成单元进行测试.其目的是检验软件基本组成单位的正确性.测试的对象是软件设计的最小单位:模块.Findyou又称为模块测试,一个单元测试是用于判断某个特定 ...
最新文章
- How to never give up
- Outlook通过RPC或RPC over HTTPS访问Exchane邮箱:Exchange2003系列之四
- python 对象销毁_python对象销毁实例(垃圾回收)
- 【数据仓库】Hive环境搭建和基础用法
- OpenCV运行ReID网络的实例(附完整代码)
- java 打不开空客手册_空客A320AMM维护手册使用介绍.ppt
- idea会不定时闪屏_显示器闪屏什么原因
- oracle数据库集群日志,Oracle集群数据库中恢复归档日志
- java map扩容机制_java中ConcurrentHashMap的扩容机制是怎样的?详细解析
- ML、DL、CNN学习记录6
- 神经网络技巧篇之寻找最优参数的方法
- DOS批处理不支持将UNC 路径作为当前目录的巧妙解决方案
- 人机大战简史(第二版)
- 单位个人计算机 数据备份,个人所得税软件数据备份,您必须知道的5件事
- Nlp预处理方法(BPE Byte pair encoding、Normalization、Lemmatisation、Stemming…)
- October CMS
- 程序员代码规范——马化腾、刘强东写的代码,你见过吗
- 目标决定人生——没有目标就失去一切!
- 浅谈支付宝第三方支付
- python 电子签名去背景