Проблемы тестирования контроллера - PullRequest
2 голосов
/ 03 декабря 2009

Я хочу проверить контроллер MVC. Я использую Moq для имитации сервисов, но я не знаю, как имитировать this.Request.Files ["Attachement1"] и this.Server.MapPath ("~ / Temp") ("this" - контроллер)

Я пытался создать новый макет < HttpRequestBase > (); но это. У запроса нет сеттера. Помогите мне пожалуйста с советом. Спасибо

Ответы [ 3 ]

1 голос
/ 03 декабря 2009

У меня была такая же проблема, как и у вас - я использовал набор поддельных классов из блога Стивена Вальтера.

Советы Asp.Net MVC - Подделка контекста контроллера

Мне пришлось немного изменить некоторые классы, но он должен делать то, что вы хотите, и это определенно намного проще в настройке, чем необходимость каждый раз издеваться над всем контекстом.

0 голосов
/ 14 декабря 2009

Для разрешений имен папок, таких как: this.Server.MapPath ("~ / Temp"), я использую общедоступные свойства, и getter возвращает их, чтобы я мог легко их проверить. Для Request.Files я предпочитаю использовать словарь FormCollection

0 голосов
/ 03 декабря 2009

Если вы посмотрите на TestHelper в проекте MVCContrib , его можно легко расширить, чтобы смоделировать другие биты элементов Http. (У него есть некоторые элементы Request, которые уже используются в качестве шаблона.)

Доброжелательность,

Dan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...