Как я могу установить значение для объекта Rhino Mocked?

2

У меня есть такой сценарий:

 form = MockRepository.GenerateMock<IAddAddressForm>();
 mediator = new AddAddressMediator(form);

Медиатор - это реальный объект, который должен тестировать и должен иметь возможность устанавливать значения для объекта формы.

Но единственный способ увидеть значения для объекта формы выглядит следующим образом:

  form.Stub(x=>x.FirstName).Return(item.FirstName)

Я не хочу делать это в своем реальном коде.

Мне не хватает точки издевательств?

Теги:
visual-studio-2008
rhino-mocks
rhino-mocks-3.5

1 ответ

1
Лучший ответ

Stubs встроены в поддержку поведения свойств. В тех случаях, когда вы не используете заглушки, вы можете использовать метод PropertyBehaviour() для аналогичного эффекта.

Внутри медиатора вы должны обычно использовать объект form - он не должен знать, что ему был передан поддельный объект.

Этот код:

form.Stub(x=>x.FirstName).Return(item.FirstName)

не должен находиться в вашем реальном объекте, но может быть частью вашего теста, чтобы настроить ожидания того, как вы будете использовать ваш макет.

Edit:

Из того, что вы предоставили, я не могу судить, "не хватает ли вы мошенничества". Основная цель состоит в том, чтобы обеспечить способ проверки кода, который имеет зависимости в изоляции от этих зависимостей. Взгляните на эссе Мартина Фаулера "" Mocks Are not Stubs "и раздел" Руководство по использованию " Документация Rhino Mocks.

  • 0
    Сладкий ответ! Большое вам спасибо (я бы хотел проголосовать за вас дважды!)
  • 0
    хаха ура :) рад быть полезным ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню