是否可以使用Rhino Mocks的新AAA语法创建“严格”模拟?我看到的问题是我正在模拟的库经常返回null作为有效的返回值(我在我的函数中处理),所以使用默认的模拟我永远不能确定我是否测试了所有路径或者我忘了设置一些期望。
答案 0 :(得分:3)
我犀牛模拟3.6我们终于拥有:MockRepository.GenerateStrictMock<T>()
。 GenerateMock不会创建严格的模拟。
答案 1 :(得分:1)
MockRepository.GenerateMock<T>()
应该返回'strict'模拟 - 而不是MockRepository.GenerateStub<T>()
,但是你不能只定义一个返回null的显式方法设置吗?
答案 2 :(得分:1)
尝试新语法
MockRepository.GenerateStrictMock; MockRepository.GenerateMock;
答案 3 :(得分:0)
它们的功能已更改,GenerateMock()不会返回严格模拟。 StrictMock仍然可以使用。只是没有新的语法。
Ayende会谈more about how CreateMock is deprecated, replaced by StrictMock here。
注意:
添加了新答案,以便人们可以轻松找到Ayende关于变化的想法。
答案 4 :(得分:0)
MockRepository.GenerateStrictMock;生成一个strick mock MockRepository.GenerateMock;生成动态模拟。