如何使用 Rhino Mocks 在动作中插入值?
Register()
接受一个分配给稍后在函数中使用的局部变量的操作:
var result = EnumResult.Timeout;
something.Register<EnumResult>(r => result = r);
<do things with result which need to be unit tested>
我希望能够将一个值 r 注入到动作中(因为它在函数中定义)并测试之后会发生什么。
答案 0 :(得分:0)
难道你不能在测试中传递一个lambda来设置一些变量然后验证变量是否在测试结束时设置了?像这样:
var wasCalled = false;
mock.Stub(s => s.Register(r => wasCalled = true);
...
Assert.IsTrue(wasCalled);
这将确保您的“Register”方法调用传递给它的lambda。