Я зашел в тупик с Machine.Fakes. Я не могу понять, как смоделировать параметр out
, используя только Machine.Fakes оборудование. Из-за ошибки в RhinoMocks я переключил наш адаптер 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.