c# - Rhino Mocks Restub 功能

标签 c# .net rhino-mocks

有时我在测试类设置中 stub 依赖项,然后想在具体测试中重新 stub 其中一些。但是 Rhino mocks 只记住第一个 stub 值,有点不方便。

someStub.Stub(x => x.SomeMethod(1)).Return(100);
var value1 = someStub.SomeMethod(1);
someStub.Stub(x => x.SomeMethod(1)).Return(200);
var value2 = someStub.SomeMethod(1);

值 2 将等于 100。

这是设计好的行为吗?有任何解决方法吗?

最佳答案

我遇到了自己做这件事的需要。我通过使用 WhenCalled 函数解决了这个问题,您可以在该函数中传入一个要在调用该函数时执行的操作。这将使您在不同时间点可以更灵活地返回。

有关此 stackoverflow 线程的更多信息/事件: Rhino Mocks: Re-assign a new result for a method on a stub和这里: Changing previously stubbed calls with Rhino Mocks .

我知道这是旧的,但希望它能帮助其他人。

关于c# - Rhino Mocks Restub 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3931842/

相关文章:

c# - WCF/客户端应用程序——业务逻辑应该放在哪里?

web - 如何获取不响应 Ping 的网站 IP?

c# - 如何在 asp.net mvc 中使用 Linq 从数据库中删除多条记录

c# - 由于缺少 .net 4.5 框架,多目标 .NET Standard 2.0 和 .NET 4.5 失败

c# - 从 app.config 文件中检索设置的名称

c# - 如何对该方法的 catch block 进行单元测试?

c# - 如何在一个事件方法中添加不同的按钮点击?

c# - 使用 C++ 和嵌入式单声道调用 C# DLL 时无法加载程序集系统

dependency-injection - Rhino 模拟、依赖注入(inject)和关注点分离

c# - 去除耦合然后模拟单元测试