TDD с ASP.NET MVC 1.0 - PullRequest
       34

TDD с ASP.NET MVC 1.0

11 голосов
/ 24 апреля 2009

Где я могу найти хороший учебник по TDD с ASP.NET MVC 1.0? Я бы предпочел видеоурок, но текстовый урок тоже подойдет. У меня скоро новый проект, и я хочу начать с правой ноги.

Ответы [ 4 ]

7 голосов
/ 24 апреля 2009

Видео на витрине из ASP.NET - это необходимая серия для просмотра.

4 голосов
/ 24 апреля 2009

Любой учебник по TDD будет полезен для MVC. Некоторое время я занимался TDD и обнаружил, что это был естественный переход в MVC. Я обнаружил, что есть несколько особенностей, которые необходимо устранить.

  1. Вам часто нужно макетировать HttpContext, что означает, что вам нужно назначить ControllerContext контроллеру после его создания, поскольку это единственный способ внедрить макет. Контекст будет использоваться для предоставления объектов Session, Request и Response в контроллере (также имитировать их). Новые классы HttpContextBase, HttpSessionStateBase, ... делают это намного проще.

  2. Из-за (1) потратьте некоторое время на то, чтобы собрать несколько вспомогательных классов в отдельной библиотеке классов, которая может использоваться всеми вашими тестовыми проектами. Эти вспомогательные классы должны содержать методы, которые предоставляют настраиваемые (или несколько методов для предоставления определенных конфигураций) макетированных контекстов. Это поможет сохранить ваши тесты компактными.

  3. Используйте и назначьте ValueProvider для методов тестирования, которые принимают параметры, если вы не используете ModelBinding (с соответствующими параметрами в подписи) для действия контроллера. Это позволит вам использовать TryUpdateModel / UpdateModel без добавления кода в ваш контроллер для получения данных из запроса в эти методы.

  4. Используйте фальшивые рамки - если это не очевидно сверху. Написание тестов будет намного проще, если вы смоделируете зависимости. Написание собственных издевательств, IMO, не стоит, хотя я знаю, что другие не разделяют это мнение. Я думаю, это не уникально для MVC, но я подумал, что упомяну это.

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

2 голосов
/ 24 апреля 2009

Проверьте здесь . Магазин MVC настоятельно рекомендуется.

0 голосов
/ 24 апреля 2009

Я подумал, что «Начальный комплект ASP.NET MVC Storefront» Роба Конери http://www.asp.net/learn/mvc-videos/#MVCStorefrontStarterKit отлично подходит для демонстрации TDD с ASP.NET MVC.

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