单元测试中的动态打桩函数替换库(windows xp)

上传者: newstud | 上传时间: 2021-06-06 21:21:42 | 文件大小: 2KB | 文件类型: ZIP
在单元测试中经常需要动态的替换被测函数调用的其他函数,这个替换叫做打桩,现在很少有动态打桩的函数,研究了许久,写了这个功能,做成了lib库,在cygwin下生成的。 给出了一个Demo,使用makefile试一试吧! ps:我目前只在windowsxp下应用,其他平台未知!欢迎发邮件给我。 #include "stdio.h" #include "d_stub.h" void testfunc(int arg, int a, int b, int c) { printf("\tI am testFunc %d\n", arg); } void testfunc1(int arg, int a, int b, int c) { printf("\t******************\n\tI am stub function\n"); printf("\tArguments: %d %d %d %d\n\t******************\n", arg, a, b, c); } void testfunc2(int arg, int a, int b, int c) { printf("\tHello world\n"); } main() { stubInfo si, ss; printf("call original func:\n"); testfunc(1, 2, 3, 4); setStub(testfunc, testfunc1, &si); setStub(testfunc1, testfunc2, &ss); printf("after set stub for func1 and func2:\n"); testfunc(1, 2, 3, 4); cleanStub(&ss); /*recover testfunc1*/ printf("after clear stub for func2:\n"); testfunc(1, 2, 3, 4); cleanStub(&si); /*recover testfunc*/ printf("after clear stub for func1::\n"); testfunc(1, 2, 3, 4); }

文件下载

资源详情

[{"title":"( 4 个子文件 2KB ) 单元测试中的动态打桩函数替换库(windows xp)","children":[{"title":"demo","children":[{"title":"libstub.a <span style='color:#111;'> 2.26KB </span>","children":null,"spread":false},{"title":"d_stub.h <span style='color:#111;'> 1.42KB </span>","children":null,"spread":false},{"title":"makefile <span style='color:#111;'> 266B </span>","children":null,"spread":false},{"title":"test.c <span style='color:#111;'> 866B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • googlechange :
    非常好,原理足够了
    2014-07-23
  • wdyichen3 :
    挺好的,只可惜不是linux下的,而且也没有公开源码,美中不足啊
    2014-06-02
  • fengyi1919 :
    蛮好用的。
    2013-09-03
  • zhsxcn :
    可惜自能在windows xp下使用,最好有linux版的。
    2013-05-16
  • shagpg2008 :
    是啊。我刚好在CYGWIN中可以用。
    2012-12-07

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明