版权声明:若无来源注明,Techie亮博客文章均为原创。 转载请以链接形式标明本文标题和地址:
本文标题:Qt代码覆盖率code coverage(VS版)     本文地址:http://techieliang.com/2017/12/493/

下述说明仅适用于VS编译,若Mingw可直接使用gcov。

QT代码覆盖率测试需要使用VS的开发平台,首先利用QT_addin_vs实现QT在VS下运行。然后使用VS下的OpenCppCoverage工具进行代码测试。由于OpenCppCoverage自身输出的报表不好看,所以使用Jenkins工具实现对报表的优化。

实现QT在VS下运行方法见此文:Qt在VS(Visual Studio)中使用

1. OpenCppCoverage安装

首先安装OpenCppCoverageSetup-x86-0.9.5.2.exe 默认下一步安装

然后安装OpenCppCoverage-0.9.1.1.vsix,这是一个VS的插件。

两者安装完成以后打开VS的工具菜单可以看到:

2. 代码覆盖率测试

2.1. ?利用VS插件实现代码覆盖率测试

在程序可运行的情况下,直接点击工具菜单下的RunOpenCppCoverage,会运行程序,然后会生成html文件,其内包含代码覆盖率报表。测试结果如下:

2.2. 利用cmd命令实现代码覆盖率测试

由于命令代码过长,使用此方法建议用记事本重命名成.cmd文件写代码。

OpenCppCoverage –sources D:\QT\qt_test_vs –export_type=binary — D:\QT\qt_test_vs\debug\tst_qt_test_vstest.exe

OpenCppCoverage –sources D:\QT\qt_test_vs –export_type=html — D:\QT\qt_test_vs\debug\tst_qt_test_vstest.exe

OpenCppCoverage –sources D:\QT\qt_test_vs –export_type=cobertura — D:\QT\qt_test_vs\debug\tst_qt_test_vstest.exe

Pause

上述代码为测试代码,其中:

–sources D:\QT\qt_test_vs指向项目所在路径,这个路径下应该包含.cpp .h文件等

–export_type=XXX 为报表显示类型,上述三行代码分别是二进制报表、html报表、cobertura的xml报表。若不写默认为html。

最后路径指向被测程序exe文件。

若为html类型报表结果如下:

主页面显示程序整体覆盖率

下一级显示每个文件覆盖率

最后点开每个文件显示每行代码是否覆盖,绿色为覆盖,红色为未覆盖。

Qt代码覆盖率code coverage(VS版)的更多相关文章

  1. 代码覆盖率 (Code Coverage)从简到繁 (一)

    代码覆盖率(Code Coverage)是反映测试用例对被测软件覆盖程度的重要指标,也是衡量测试工作进展情况的重要指标.它也是对测试工作进行量化的重要指标之一,测试工作往往不如开发那样激动人心,一个重 ...

  2. 测试工具 - IDEA - IDEA Code Coverage

    概述 使用 idea 自带的 code coverage 工具 背景 了解 白盒测试用例设计 和 测试覆盖率 之后, 大概就需要 实践 了 实践的话, 还是需要 工具 来检验效果 工具选取 选项 Ja ...

  3. python代码覆盖率统计-coverage

    coverage.py是一个用来统计python程序代码覆盖率的工具.它使用起来非常简单,并且支持最终生成界面友好的html报告.在最新版本中,还提供了分支覆盖的功能. 官方网站: http://ne ...

  4. 10 Code Coverage Tools for C & C++

    Code coverage is a measure used in software testing that describes the degree to which the source co ...

  5. Gumshoe - Microsoft Code Coverage Test Toolset

    Gumshoe - Microsoft Code Coverage Test Toolset 2014-07-17 What is Gumshoe? How to instrument a binar ...

  6. [Jest] Track project code coverage with Jest

    Jest comes pre-packaged with the ability to track code coverage for the modules you're testing, but ...

  7. Effective Java提升Code Coverage代码涵盖率 - 就是爱Java

    虽然我们已经有了测试程序,但是如何得知是否已完整测试了主程序?,透过Code Coverage代码涵盖率,我们可以快速地得知,目前系统中,有多少程序中被测试过,不考虑成本跟投资效益比,涵盖率越高,代表 ...

  8. CSDN CODE平台,中国版Github简要使用说明

    CSDN CODE平台,中国版Github简要使用说明!(多图慎入)   楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什 ...

  9. CI集成phpunit Error: No code coverage driver is available 的解决

    CI集成phpunit时,运行报No code coverage driver is available的错误,如下图: yanglingdeMacBook-Pro:tests yangling$ p ...

随机推荐

  1. 初学者:__init__.py文件的作用

    __init__.py 文件的作用及意义 __init__.py文件是一个包必须的文件,即使它是空的,但也是必须的,如果没有这个文件,python将不会把该文件夹当做一个package,而仅仅是一个d ...

  2. hadoop生态搭建(3节点)-09.flume配置

    # http://archive.apache.org/dist/flume/1.8.0/# ===================================================== ...

  3. c语言杨氏矩阵算法

    杨氏矩阵 有一个二维数组.数组的每行从左到右是递增的,每列从上到下是递增的.在这样的数组中查找一个数字是否存在.时间复杂度小于O(N);数组:1 2 32 3 43 4 5 1 3 42 4 54 5 ...

  4. Lingo解决最优化问题

    目录 Lingo解决优化问题 前言 一.优化模型介绍 二.运输问题 2.1 问题描述 2.2 问题分析 2.2 优化模型构建 2.3 模型求解 2.4 求解结果 三.待更新 Lingo解决优化问题 @ ...

  5. 在同一台机器上启动多个tomcat服务(转)

    转载:https://blog.csdn.net/wangxy799/article/details/53957770 1.案例:配置一台机上配置三个Tomcat 2.方法1:[只用修改第一个以外To ...

  6. 北京Uber优步司机奖励政策(3月24日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. Qt的4个图像类QImage/QPixmap/QBitmap/QPicture 转

    Qt的4个图像类QImage/QPixmap/QBitmap/QPicture 转 (一)QPixmap和QImage的区别 http://www.thisisqt.com/forum/viewthr ...

  8. jQuery File Upload 文件上传插件使用一 (最小安装 基本版)

    jQuery File Upload 是一款非常强大的文件上传处理插件,支持多文件上传,拖拽上传,进度条,文件验证及图片音视频预览,跨域上传等等. 可以说你能想到的功能它都有.你没想到的功能它也有.. ...

  9. AFD运维

    1.afd 网址:https://www.dwd.de/AFD/html-en/contents.html 2.问题:拷贝了一个主机A配置后(HOST_CONFIG主机项),修改为另一个主机B配置:然 ...

  10. dva框架之redux相关

    dva封装了redux,减少很多重复代码比如action reducers 常量等,本文简单介绍dva redux操作流程. 利用官网的一个加减操作小实例来操作: dva所有的redux操作是放在mo ...