linux C单元测试工具CUnit的编译安装及使用

摘要:
1下载CUnit安装包CUnit-2.1-3.tar。bz2并将其保存到/home/user/(本文创建时,安装包版本是2016-05-25的最新版本)https://sourceforge.NET/projects/cunit2提取安装包tarjxvfCUnit-2.1-3.tar。bz23,输入解压缩的文件夹CUnit-2.1-3cdCUnit-2.1-24,执行make,并执行以下命令:aclocalu

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正常运行的话会产生以下结果画面

linux C单元测试工具CUnit的编译安装及使用第1张
 

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页面
linux C单元测试工具CUnit的编译安装及使用第2张

免责声明:文章转载自《linux C单元测试工具CUnit的编译安装及使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【原创】HBase集群变更zookeeper问题浅谈javascript中的递归和闭包下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

软工作业05

软件工程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 作业要求 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10619 作业目标 网页实现家族树 作...

【PHP】PHPUnit单元测试利器:PHP Mock的使用方法

由于环境依赖关系,或者是特殊环境的构造要求,这就可能导致我们在测试环境下做验证是很困难的。 当我们无法直接使用的真实被依赖模块时,我们可以用“测试替身”(Test Double)来代替。这个测试替身不需要与真实的被依赖模块有相同的行为,它只需要提供和真实的被依赖模块有相同的API就行了。 PHPUnit提供的getMock($className)方法可以自...

软件集成、确认和系统测试方法

引言 软件测试按测试用例设计(TEST CASE DESIGN)方法分为白盒测试(WHITE-BOX TESTING)和黑盒测试(BLACK-BOX TESTING)。 按测试过程或测试策略,软件测试分为单元测试(UNIT TESTING),集成测试(INTEGRATION TESTING〕,确认测试(VALIDATION TESTING〕和系统测试(SY...

Java单元测试 Http Server Mock框架选型

背景动机 某期优化需要针对通用的HttpClient封装组件--HttpExecutor在保证上层暴露API不动的前提做较多改动,大致包括以下几点: apache http client 版本升级 HttpClientBuilder代码重构 RequestBuilder代码重构 自定义RetryHandler HttpContext扩展 自定义HttpR...

携程酒店DevOps测试实践

作者简介 王幸福,携程酒店研发部高级测试经理,负责无线自动化测试相关工作。在测试框架和平台研发、移动测试、DevOps等领域有着丰富的经验。 如今很多大型互联网公司、创新型企业都在积极地进行DevOps实践和落地。为什么DevOps如此受青睐? 我们该如何实施DevOps?DevOps中Dev代表开发,Ops代表运维,那么在这个崭新的流程体系中,QA又该...

VS2010单元测试(转)

什么是单元测试 单元测试就是编写一段代码,用来检查某个特定条件下,另外一段代码的行为是否符合我们的预期。单元测试的代码与实际程序的代码具有同等的重要性。 每一个单元测试,都是用来定向测试它所对应的一个单元的代码是否正确执行。 单元测试的代码应该由代码的编写者来完成。 单元测试的优点 1, 通过单元测试能够协助程序员尽快找到代码中bug的具体位置, 2, 而...