转自:http://topic.youkuaiyun.com/u/20080107/16/273496e5-7e94-4ed9-a1db-7f400c4dcd3a.html
如题,请问何谓"打桩Stub"函数?打桩是一个怎样的概念?有什么作用?
是和软件测试有关系吗?
能否举例说明或者有什么地方可以找到资料的?
谢谢!!
=======
是用来测试的...
譬如说,要测试一个函数 f()
void f()
{
var = g(...);
}
f()函数中调用了函数g(),但是在测试f()的时候g()函数可能还没有写出来
这时可以写一个g()的存根(stub)函数,来模拟g()函数,例如让它仅仅返回一个值.这样的话就可以完成对函数f()的测试了...
=================
以前用过Cantata做单元测试,要写大量的stub。
我们做的测试是针对单个函数的,只编译一个文件,但是:
比如1楼的例子,可能函数f在f.c里面,函数g在g.c,g里面又调用了另一个函数h在h.c里。
这种情况下就在f.c里写一个所谓的stub函数来替换g,可能就是个空函数,或者返回一些指定的值,这样就可以单独编译f.c来测试f这个函数。