我认为保证测试有效性有两点:
1、不能对待测方法的实现使用测试替身,可以对测试方法调用的外部组件使用测试替身
2、不能行为验证绑定到实现方法的内部
另外我有个问题,最后一个视频演示的是 Controller -> Dao 的场景,这种直接对 Dao 使用测试替身,这种方法毋庸置疑,但如果是多层构架,如 Controller -> Service -> Dao ,那么我们在测 Controller 时应该是对 Dao 使用测试替身还对 Service 使用测试替身
作者回复: 驱动controller的时候 double service 驱动service的时候 double dao