【发布时间】:2012-01-04 00:03:22
【问题描述】:
我在使用 Machine.Fakes 时陷入了僵局。我无法弄清楚如何使用 only Machine.Fakes 设备模拟 out 参数。由于 RhinoMocks 中的 a bug,我将我们的 mfakes 适配器切换到 FakeItEasy。据我所知,任何适配器都应该是可互换的。
问题是这导致“out”测试失败,看起来像这样的东西不再编译,因为Arg 是 Rhino.Mocks。
The<IMembershipService>()
.WhenToldTo(x => x.CreateUser(Param<string>.IsAnything,
Param<bool>.IsAnything,
Param<object>.IsAnything,
out Arg<MembershipCreateStatus>
.Out(MembershipCreateStatus.UserRejected)
.Dummy))
.Return(user);
我尝试使用“虚拟”局部变量,将其设置为与原始 Arg<T> 参数设置的相同的值,但这导致我的测试失败 - 似乎该值没有通过! Arg<T> 确实有解决方案,但我不能再使用它了,因为它是 Rhino.Mocks 的一部分。
【问题讨论】:
标签: c# unit-testing mocking rhino-mocks machine.fakes