【发布时间】:2010-10-02 14:21:54
【问题描述】:
我玩得还不够多,通常使用模拟,但我想知道这两者之间有什么区别以及何时在 Rhino Mocks 上使用其中一个。
更新:
我也在Ayende's words找到了我的问题的答案:
存根和模拟之间的区别
您可以在本文中获得这些术语的实际定义:Mocks Aren't Stubs。我想从 Rhino Mocks 的角度来关注不同之处。
模拟是我们可以设置期望的对象,它将验证期望的操作确实发生了。存根是您用来传递给被测代码的对象。您可以对其设置期望,因此它会以某些方式运行,但这些期望永远不会得到验证。存根的属性会自动表现得像普通属性一样,您不能对它们设置期望。
如果您想验证被测代码的行为,您将使用具有适当期望的模拟,并进行验证。如果您只想传递一个可能需要以某种方式执行但不是此测试重点的值,您将使用存根。
重要提示:存根永远不会导致测试失败。
【问题讨论】:
标签: mocking rhino-mocks