犀牛嘲笑:Stub&嘲笑。有什么不同

时间:2011-09-02 05:56:13

标签: unit-testing mocking stub

我在单元测试中使用Rhino Mocks。

我想知道STUBS和MOCKS之间的区别(mocks.Stub<T>()mocks.StrictMock<T>())。

1 个答案:

答案 0 :(得分:6)

我认为以前曾被问过。

通常情况相同,但有以下不同之处:

  • 严格模拟会在每次未预期的通话中抛出异常
  • 动态模拟接受意外调用,只返回默认值(例如null)
  • 存根类似于动态模拟,但默认情况下会启用“属性行为”。这允许编写和读取字段等属性,但不允许StubExpectAssertWasCalled属性。也可以在普通Mock上配置此行为。但是对于存根来说这是默认的。

由于Rhino更改为AAA syntax,因此不鼓励使用Strict Mocks,因为它们使测试代码很难维护。


类似的问题:

我找不到有关Rhino实现的信息,所以我不会将此问题标记为重复。