У меня есть макет объекта, который передается в качестве аргумента конструктора другому объекту.
Как я могу проверить, что свойство смоделированного объекта было вызвано? Это код, который я использую в настоящее время:
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» геттер для свойства Forenames используется несколько раз. Вот тогда я получаю "Rhino.Mocks.Exceptions.ExpectationViolationException: INewContactAttributes.get_Forenames (); Ожидаемый # 1, Фактический # 2 .."
Просто с помощью
newContact.AssertWasCalled(x => { var dummy = x.Forenames; }, options => options.Repeat.Any());
не работает и выдает ошибку ниже:
"Ожидание было удалено из списка ожидания, вы вызывали Repeat.Any ()? Это не поддерживается в AssertWasCalled ()."
Так как мне обслуживать несколько звонков?