一个项目又很多模块组成,当我们每次完成一个模块的时候,就应该测试该功能是否
能够运行正确。然后再写下一个模块,不要等所有模块写完了再整体测试,这样到时候很
难找到问题(当然高手除外)。
那如何写测试用例呢?
其实就是使用自己的模块,看运行的结果是否跟期望的结果一致。
比如如下,写了一个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/1qWK8DJ2
CUnit: 以静态库的形式提供给用户使用,用户编写程序的时候直接链接此静态库就可以了。它提供了一个简单的单元测试框架,并且为常用的数据类型提供了丰富的断言语句支持。见链接 http://pan.baidu.com/s/1dHQxC