zoukankan      html  css  js  c++  java
  • linux C单元测试工具CUnit的编译安装及使用

    1 下载CUnit安装包CUnit-2.1-3.tar.bz2保存至/home/用户/

    (安装包版本为文章做成时2016-05-25的最新版本)

    https://sourceforge.NET/projects/cunit

    2 解压缩安装包

     tar jxvf CUnit-2.1-3.tar.bz2

    3 进入解压后的文件夹CUnit-2.1-3

    cd CUnit-2.1-3

    4 执行make,分别执行以下命令

    aclocal

    autoheader

    autoconf

    automake

    如果在automake过程中有文件丢失,则执行下面命令:

    automake --add-missing

    再次执行automake

    如果出现错误:configure.in:161:required file './ltmain.sh' not found,则执行下面的命令:

    libtoolize --automake --copy --debug --force

    执行完上述步骤以后,查看是否生成了configure,如果有,则执行:

    ./configure

    执行完上述步骤以后,查看是否生成了Makefile,如果有,则执行:

    make

    安装编译出的库:

    sudo make install

    查看是否已经安装成功:

    ls /usr/local/lib/libcunit.so

    5 样例代码做成

    5.1 CUnit官网上的样例代码拷贝并保存至/home/用户/test下面,记为test.c

    http://cunit.sourceforge.net/example.html

    5.2 编译t.c 

    gcc -o t t.c -lcunit

    5.3 运行t

    ./t

    5.4正常运行的话会产生以下结果画面


     

    6 生成测试代码覆盖率报告

    6.1 重新编译t.c

    gcc -fprofile-arcs -ftest-coverage -o t t.c -lcunit

    6.2 运行t

    ./t

    6.3 生成覆盖率数据中间文件

    gcov t.c

    6.4 生成xml形式的覆盖率报告文件至app.info文件

    lcov --directory . --capture --output-file app.info

    6.5 生成html形式的覆盖率报告文件至results文件夹,数据来源文件为app.info

    genhtml -o results app.info

    6.6 正常的话会生成下述的html页面

  • 相关阅读:
    深入JavaScript之获取cookie以及删除cookie
    js 首次进入弹窗
    jquery 点击加载更多
    express 设置允许跨域访问
    微信小程序之全局储存
    jquery 在页面上根据ID定位(jQuery锚点跳转及相关操作)
    我也想聊聊 OAuth 2.0 —— 基本概念
    一行代码,发送邮件
    【Git使用】强制推送代码到多个远程仓库
    一秒钟生成自己的iOS客户端
  • 原文地址:https://www.cnblogs.com/thammer/p/7448108.html
Copyright © 2011-2022 走看看