|
比如::(下面代码可能写的有错误,请大家原谅吧,但应该能说明我的意思)
void main(void)
{
int a , b , x;
scanf("%d,%d,%d",&a,&b,&x);
if (a>1 && b=0)
{
x=x/a;
if (x>1)
{
x=x-1;
x=abs(x);
}
else
{
x=x+1;
x=abs(x);
}
}
else
{
x=abs(x);
}
}
abs(int m)
{
if(m>=0)
{
return m;
}
else
return -m;
}
在测试main()时,其中abs()这个函数是要被调用的;所以为了保证abs()所返回的值是正确无误的(因为可能main()函数无错,但abs()有错,导致测试结果认为main()是有错的可能),所以要写桩来代替abs(),来保证测试main()不会得出错误结论。
如,设计用例:
case1: 输入 a = 2 , b = 0 , x = 4
case2: 输入 a = 2 , b = 0 , x = 2
case3: 输入 a = 1 , b = 1 , x = 1
所以代替abs()的桩函数应该是:
stub_abs()
{
if (a= 2 && b= 0 && x = 4)
{
return x = 1 ;
}
if (a= 2 && b= 0 && x = 2)
{
return x = 2 ;
}
if (a= 1 && b= 1 && x = -1)
{
return x = 1 ;
}
}
其实我理解的桩函数就是:“他想要什么你就给他什么”。希望我说明白了。请高手指正!! |
|