• Qt代码覆盖率code coverage(VS版)


    博客地址已更改,文章数量较多不便批量修改,若想访问源文请到 coologic博客 查阅,网址:www.coologic.cn

    如本文记录地址为 techieliang.com/A/B/C/ 请改为 www.coologic.cn/A/B/C/ 即可查阅

    版权声明:若无来源注明,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类型报表结果如下:

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

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

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

  • 相关阅读:
    c# out ref parames的用法
    c#测试执行时间的方法
    c#文件的操作
    c#md5加密的简单用法
    notepad++加到右键
    mysql自动安装脚本
    Arrays.sort实现原理
    选择排序
    自带排序 Array.sort()
    vi中使用鼠标右键插入时进入(insert)visual模式
  • 原文地址:https://www.cnblogs.com/techiel/p/7942359.html
Copyright © 2020-2023  润新知