测试替身Test Double
你可能会说
单测别真的扣款,用一个可控的支付替身返回成功和超时,再检查订单模块怎么处理。
测试替身是在测试中用可控对象代替真实依赖的做法,Mock 是其中一种常见形式。例如测试订单模块时,可让替身支付服务返回成功、拒绝或超时,并检查调用参数和处理结果。替身适合隔离慢或不稳定的外部依赖;要验证真实接口契约时仍需集成测试。
也常被叫作Test DoubleMock测试替身StubFakeSpy
延伸阅读 · 权威出处
单测别真的扣款,用一个可控的支付替身返回成功和超时,再检查订单模块怎么处理。
createOrder({ amount: 120 })
payment.charge(120)↳直接调用真实支付会把网络、账号和费用都带进这条订单测试。
把难以安排的结果变成稳定输入:真实支付服务未必能随时制造“被拒绝”或“超时”。测试替身可按用例返回指定结果,让失败提示、重试或记录逻辑得到可重复检查。
替身要对应要验证的边界:若目标是订单模块面对拒绝时的行为,替身很合适;若目标是确认与真实支付商的协议和认证仍可用,就必须在受控环境做真实连接验证。
请为支付被拒绝补一个测试替身,让它稳定返回拒绝;验证页面会显示可点击的重试入口。另保留一条受控环境的真实支付连接检查,不要用替身结果代替它。