测试替身的五种面孔:当Mock、Stub、Fake、Spy和Dummy不再是同义词

一个真实的场景:你正在为一个电商系统的订单服务编写单元测试。订单服务依赖库存检查、支付处理、邮件通知三个外部服务。如果使用真实的支付网关,每次测试都会产生实际费用;如果连接真实的SMTP服务器,测试邮箱会被垃圾邮件淹没。更糟糕的是,支付网关的响应时间不稳定,导致测试时快时慢。 ...

13 min · 6109 words