У меня есть mocked объект, который передается как аргумент конструктора другому объекту.
Как я могу проверить, что было вызвано свойство mocked object? Это код, который я использую в настоящее время:
INewContactAttributes newContact = MockRepository.GenerateMock<INewContactAttributes>();
newContact.Stub(x => x.Forenames).Return("One Two Three");
someobject.ConsumeContact(newContact);
newContact.AssertWasCalled(x => { var dummy = x.Forenames; });
Это работает, за исключением случаев, когда в "someobject" свойство getter on Forenames используется несколько раз. Это когда я получаю "Rhino.Mocks.Exceptions.ExpectationViolationException: INewContactAttributes.get_Forenames(); Ожидаемое # 1, Actual # 2.."
Просто используя
newContact.AssertWasCalled(x => { var dummy = x.Forenames; }, options => options.Repeat.Any());
не работает и дает ошибку ниже:
"Ожидание было удалено из списка ожидающих ожиданий, вы вызвали Repeat.Any()? Это не поддерживается в AssertWasCalled()."
Итак, как мне обслуживать несколько вызовов?