A variety of different terms are used to refer to these “custom objects”. In an effort to clarify the vocabulary,
Gerard Meszaros provides the following definitions:
● Test Double is a generic term for any test object that replaces a production object.
● Dummy objects are passed around but not actually used. They are usually fillers for parameter lists.
● Fakes have working implementations, but take some shortcut (e.g., InMemoryDatabase).
● Stubs provide canned answers to calls made during a test.
● Mocks have expectations which form a specification of the calls they do and do not receive.
单测mock和stub
最新推荐文章于 2024-04-26 21:29:34 发布
本文探讨了测试中的Mock和Stub的区别。Test Double是一个通用术语,涵盖包括Dummy、Fake、Stub和Mock在内的测试对象。Stub关注输入和输出,提供预定义的响应;而Mock则关注交互过程,设有明确的期望。EasyMock通过record/replay机制设置期望,提供了一种适应性的测试方式。尽管这种方法允许利用IDE的自动补全,但限制了约束的灵活性。
摘要由CSDN通过智能技术生成
(1) Dummy
对象被四处传递,但是从不被真正使用。通常他们只是用来填充参数列表。
(2) Fake
有实际可工作的实现,但是通常有一些缺点导致不适合用于产品(基于内存的数据库就是一个好例子)。