使用 Rhino Mocks 保存到存储库

Posted

技术标签:

【中文标题】使用 Rhino Mocks 保存到存储库【英文标题】:Saving to a repository using Rhino Mocks 【发布时间】:2010-07-19 15:50:50 【问题描述】:

到目前为止,我一直在编写代码,主要是在我的业务/服务层中使用 Rhino Mocks 获取预期的 List 或类型的 Get 方法,并让 Rhino Mocks 为我返回它,我的问题是如何测试集合/保存打电话,例如void SaveCustomers(Customer)

我有一个叫GetCustomers 的电话,我可以在我的SaveCustomers 电话之后立即使用 Rhino 模拟来调用它,看看它是否将它保存到内存中吗?我已经尝试过模拟我的回购并调用它,但它返回一个空值,正确的语法是什么?我找不到使用 StrictMock 或 GenerateStub 的示例。

谢谢!

【问题讨论】:

【参考方案1】:

如果您在谈论使用 Rhino Mocks 来模拟存储库,则不需要调用 GetCustomers,您可以使用如下语法(使用“AAA”样式)直接检查它:

IMyRepository repository = MockRepository.GenerateMock<IMyRepository>();
// do stuff with repository
repository.AssertWasCalled(x => x.SaveCustomers(myTestCustomer));

【讨论】:

以上是关于使用 Rhino Mocks 保存到存储库的主要内容,如果未能解决你的问题,请参考以下文章

Rhino Mocks - 使用 ref/out 参数模拟集合

无法使用 Rhino Mocks 模拟具有数组参数的构造函数的类

Rhino Mocks 上的 mock 和 stub 有啥区别?

Rhino Mocks 默认返回类型?

Rhino Mocks 存根和模拟仅适用于接口?

如何在 Rhino Mocks 3.6 中将 Expect 设置为扩展方法