摘自:http://blog.vsharing.com/wooley/A801453.html
测试替身(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。
|