RhinoMocks использует реализацию по умолчанию для свойства - PullRequest
1 голос
/ 20 декабря 2010

У меня есть код, который я использую с Entity Framework, например

class Person{
  pubic Person() {
     Address = new Address();
  }
  public virtual Address Address { get; set; }
}

Причина, по которой я отмечаю Address как virtual, - ленивая загрузка.

Теперь, чтобы проверить, я заглушаю Person. Но так как он является заглушкой, метод получения Address просто возвращает null (хотя он установлен в конструкторе) Если я заглушу свойство Address (person.Stub(x => x.Address).Return(new Address());), все будет хорошо. Но я не хочу заглушать собственность! Есть ли способ сказать RhinoMocks не переопределять этот геттер, даже если он виртуальный?

1 Ответ

4 голосов
/ 20 декабря 2010

Конечно, но вы должны использовать частичный макет:

var person = MockRepository.GeneratePartialMock<Person>();
...