简单单元測试思想
一个项目又非常多模块组成,当我们每次完毕一个模块的时候,就应该測试该功能是否
可以执行正确。然后再写下一个模块,不要等全部模块写完了再总体測试,这样到时候非常
难找到问题(当然高手除外)。
那怎样写測试用例呢?
事实上就是使用自己的模块,看执行的结果是否跟期望的结果一致。
比方例如以下,写了一个add函数,要測试它,我们写一个test_add函数。
#include <stdio.h> int add(int a,int b) { return a+b; } int test_add(void) { int ret = 0; ret = add(1,1); if(ret != 2) { return 1; } ret = add(2,2); if(ret != 4 ) { return 2; } ret = add(3,3); if(ret != 6 ) { return 3; } return 0; } int main() { int ret = 0; ret = test_add(); if(ret != 0) { //这里依据返回值来确定究竟是哪条測试出错。 printf("test failed,ret = %d\n",ret); } else { printf("test ok!"); } }
当然也能够用一些开源的測试代码,下面是两个简单的语言单元測试框架。
比方 cutest ,简单的c单元測试 见链接 http://pan.baidu.com/s/1hqeg7qO
CUnit: 以静态库的形式提供给用户使用,用户编敲代码的时候直接链接此静态库就能够了。它提供了一个简单的单元測试框架,而且为经常使用的数据类型提供了丰富的断言语句支持。见链接 http://pan.baidu.com/s/1gd9WCgV