测试:插入传递给Action <t> </t>的值

时间:2011-03-15 04:45:52

标签: c# unit-testing rhino-mocks action

如何使用 Rhino Mocks 在动作中插入值?

Register()接受一个分配给稍后在函数中使用的局部变量的操作:

var result = EnumResult.Timeout;

something.Register<EnumResult>(r => result = r);

<do things with result which need to be unit tested>

我希望能够将一个值 r 注入到动作中(因为它在函数中定义)并测试之后会发生什么。

1 个答案:

答案 0 :(得分:0)

难道你不能在测试中传递一个lambda来设置一些变量然后验证变量是否在测试结束时设置了?像这样:

var wasCalled = false;
mock.Stub(s => s.Register(r => wasCalled = true);
...
Assert.IsTrue(wasCalled);

这将确保您的“Register”方法调用传递给它的lambda。