14、测试替身:桩对象与模拟对象的使用与实践

测试替身:桩对象与模拟对象的使用与实践

在软件开发过程中,测试是确保代码质量和功能正确性的重要环节。而测试替身(Test Doubles),如桩对象(Stubs)和模拟对象(Mocks),在测试中扮演着关键角色。它们可以帮助我们更好地控制测试环境,提高测试的可重复性和效率。

1. 何时使用桩对象

桩对象在被测系统(SUT)使用拉取模型与依赖项协作时非常有用。以下是一些适合使用桩对象的场景:
- 模拟仓库接口/数据库 :使用桩对象替代对真实数据库的数据访问代码。
- 模拟参考数据源 :用桩数据替换包含参考数据的属性文件或 Web 服务。
- 为转换为 HTML 或 JSON 格式的代码提供应用对象 :在测试转换为 HTML 或 JSON 的代码时,使用桩提供输入数据。
- 模拟系统时钟以测试时间相关行为 :为了使时间调用具有可重复性,用已知时间模拟该调用。
- 模拟随机数生成器以实现可预测性 :用对桩的调用替换对随机数生成器的调用。
- 模拟认证系统以允许测试用户始终登录 :用简单的“登录成功”桩替换对认证系统的调用。
- 模拟第三方 Web 服务(如支付提供商)的响应 :用对桩的调用替换对第三方服务的真实调用。
- 模拟对操作系统命令的调用 :用预定义的桩数据替换对操作系统命令(如列出目录)的调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值