对自己要求要更严格一些,对别人要再多宽容一些。
单元测试学习之旅(二)
上一篇 /
下一篇 2009-06-18 09:42:37
/ 个人分类:单元测试
今天在论坛上看到了一个很好的,比较简单的桩测试的例子,于是转帖一下:
假设有三个函数:
int ctr(int x,int y)如果x不小于y,则返回add(x,y),否则返回sub(x,y);
int add(int x,int y)返回x和y的和;
int sub(int x,int y)返回x和y的差;
如果采用孤立测试,设计的驱动单元和桩单元为:
int ctr(int x,int y) //被测单元
{
int result;
if(x>=y)
result =stub_add(x,y);
else
result=stub_ sub(x,y);
return result;
}
int stub_add(int x,int y) //桩单元
{
if(2==x&&1==y)
return 3;
else return 888;
}
int stub_sub(int x,int y) //桩单元
{
if(1==x&&2==y)
return -1;
else return 888;
}
void driver_ctr(int x,int y) //驱动单元
{
int z;
z=ctr(2,1);
if(3==z)
printf(“testcase_ctr001 pass!\n”);
else printf(“testcase_ctr001 fail!\n”);
z=ctr(2,1);
if(-1==z)
printf(“testcase_ctr002 pass!\n”);
else printf(“testcase_ctr002 fail!\n”);
}
收藏
举报
TAG: