2010-01-25 3 views
5

В моем приложении, используя шаблон MVP, презентатор задает некоторые свойства в представлении. Например, Iview имеет строку Customer {set;}. Теперь я хочу проверить, что это свойство было установлено с помощью некоторых значение «х». Как я могу сделать тест с носорогами?Как проверить свойство writeonly

ответ

4

Не указывайте свойства для записи. Как сообщают .NET design guidelines:

Не предоставляйте свойства только для установки.

Если свойство getter не может быть предоставлено, используйте метод для реализации функциональности. Имя метода должно начинаться с Set, за которым следует имя свойства. Например, AppDomain имеет метод SetCachePath вместо свойства set-only, называемого CachePath.

В большинстве случаев определение свойства чтения/записи намного проще, и это дает легкий доступ к модулю testi типа владельца. Для этого вам не понадобится Rhino Mocks, так как вы можете просто прочитать значение непосредственно из свойства.

Однако, если вы предпочитаете мутирующий метод, как описано в руководящих принципах проектирования, вы должны сделать его virtual, чтобы использовать Rhino Mocks, чтобы убедиться, что он был правильно вызван. Хотя это, безусловно, возможно, его сложнее настроить, поэтому я бы взял только этот маршрут, если бы были веские причины для этого.

+0

спасибо за asnwer. –

Смежные вопросы