[转载] Mock 不是 Stub
转载自 Martin Fowler 的博客:很多人把 mock object 和 stub 混为一谈,但 Fowler 指出这里其实纠缠着两层差异——一是「状态验证 vs 行为验证」,二是「经典派 TDD vs mockist 派 TDD」。文章用一个订单/仓库的例子演示了两种写法,借 Meszaros 的术语厘清了 dummy、fake、stub、spy、mock 五种测试替身,并从驱动 TDD、夹具搭建、测试隔离、与实现耦合、设计风格等几个维度,把两种风格的取舍掰开了讲。