知识卡片
测试替身的四种类型与作用
内容
当被测对象的依赖链过长、难以真实构造时,测试替身(Test Double)按用途细分为四种:Dummy只用于填充参数占位、测试过程中不会被真正调用;Stub预设固定返回值,用来控制”间接输入”、让被测逻辑与外部组件解耦;Spy记录下依赖被调用时的实际参数和次数,用于事后验证”间接输出”;Mock Object则更进一步,创建时就预定义了期望的调用方式,能实现完整的行为验证。发散:区分这四种替身的关键在于问自己”我到底想控制输入,还是想验证输出”:Stub负责控制,Spy和Mock负责验证,分不清这一点,测试代码里替身的选择往往会变得混乱且难以复用。
参考来源
《Spring Boot应用开发实战》第6章《自动化测试》