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