测试替身 (Test Double) 的定义
测试替身型别 | 描述 |
Dummy | 最简单、最原始的测试替身型别。 Dummy 没有实作,最常用于需要参数值但不使用它的情况。 Null 可视为是 Dummy ,但真的 Dummy 是接口或基类的衍生,且完全不包含实作。 |
Stub | Dummy 的上一级, Stub 是接口或基类的最低限度实作。会传回 Void 的方法通常完全不包含实作,而会传回值的方法通常会传回硬式编码的值。 |
Spy | 测试 Spy 类似 Stub ,但除了提供客户端可叫用成员的实例, Spy 还会记录叫用了哪些成员,好让单元测试验证所叫用的成员是否符合预期。 |
Fake | Fake 包含更复杂的实作,通常涉及所继承型别之不同成员之间的互动。虽然不是完整的生产实作,但 Fake 与生产实作很相似,尽管它会采取一些快捷方式。 |
Mock | Mock 是由 Mock 链接库动态建立 ( 其他通常是由测试开发人员使用程序代码来产生 ) 。测试开发人员永远看不到实作接口或基类的实际程序代码,但是可以设定 Mock 以提供传回值、预期要叫用的特定成员 ... 等等。视其中的设定而定, Mock 的行为可能会像 Dummy 、 Stub 或 Spy 。 |
摘自: http://blog.vsharing.com/wooley/A801453.html