Check—强大的C语言单元测试框架

本文介绍了C语言单元测试框架Check,强调了其通过fork子进程运行测试用例以防止程序崩溃的特点。并详细讲解了Check的安装及简单使用方法,包括工程文件结构和编译运行过程。
摘要由CSDN通过智能技术生成
                       

1. 前言

在看基数树源码时,发现源码里面有个deps的依赖文件夹,deps里是一个叫Check的源码安装包,Google之后发现Check原来是C语言单元测试框架。关于单元测试,Wikipedia的介绍点这里

 

Check 最主要的优点是对于每一个测试用例的运行都 fork 一个子进程,这么做的原因是因为 C 语言的独特性:
  (1) 其它语言如 Java,Python,Ruby等,单元测试出错最多不过是抛出异常;
  (2) C 语言如果指针操作错误,乱指一气,可是会 coredump的。测试框架因此直接退出,用户是看不到任何返回的,只有郁闷的 coredump;
  (3) Check 的单元测试运行在 fork 的子进程中,可以避免测试框架由于 coredump 而崩溃。

网上介绍Check的使用基本都是同一例子,但如何使用没有说明,下面就详细介绍下如何利用Check进行单元测试。


2. Check简单使用

在使用Check前要安装Check,可以直接在终端输入:sudo apt-get install check进行安装,也可以使用源码包安装,源码具体安装方法可以参考官网

我们现在也是要做一个只做加法的工程,整个工程的文件目录如下图所示,具体代码参考Github。工程文件夹里的TestAdd.c文件是将整个工程都放到了一个文件中,可以直接在终端运行:gcc TestAdd.c -lcheck进行编译,然后运行./test


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值