Rhino Mocks - GenerateStub <T>和GenerateMock <T>之间的区别

chu*_*h97 35 unit-testing rhino-mocks

任何一位犀牛专家都可以通过给出一个合适的例子说明上述方法MockRepository(Rhino Mocks框架)之间的差异来解释我.

应该在哪里使用Stub而不是Mock方法?

Sam*_*der 59

当你要验证对象上发生的事情时,你应该使用模拟,就像调用一个方法一样.当您只希望对象参与测试以返回值时,您应该使用存根,但这不是您正在测试的内容.没有满足期望的存根永远不会失败测试.

我认为一般规则应该是你应该只在测试中有一个模拟对象,但可能有几个存根,它们为模拟对象提供信息.我相信在测试中超过1个模拟是代码气味.

虽然不是Rhino的例子,但Martin Fowler对这种差异进行了描述

同样这个问题可能是因为可能有用的这一个