单元测试之打桩-stub

首先,了解两个单元测试和集成测试的基本概念:

驱动程序/驱动模块(driver),用以模拟被测模块的上级模块。驱动模块在集成测试中接受测试数据,把相关的数据传送给被测模块,启动被测模块。

桩程序/桩模块(stub),也有人称为存根程序,用以模拟被测模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口。

驱动模块、桩模块和被测对象的关系如下:

在这里插入图片描述

打桩分类:
编译时打桩
通常,通过宏定义对目标函数的调用替换为wrapper函数的调用,wrapper函数由自己定义
链接时打桩
通过Linux静态链接器–wrap标志进行链接时打桩
运行时打桩
基于动态链接器的预加载机制,设置LD_PRELOAD环境变量改变库文件搜索路径

编译时打桩需要访问程序的源代码,连接时打桩需要能够访问程序的可重定位的对象文件。不过运行时打桩仅需要访问可执行目标文件即可。

编程参考链接:
https://blog.csdn.net/weixin_34307464/article/details/86251282
https://blog.csdn.net/vc8/article/details/90760081

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值