Базовое модульное тестирование веб-приложения ASP.NET MVC - PullRequest
0 голосов
/ 29 июня 2011

Что такое базовое модульное тестирование веб-приложения, созданного с использованием ASP.NET MVC и C #. Я использую MySQL в качестве своей базы данных. Нужно ли создавать модульный тест для класса контроллера и для класса Model? Я хочу использовать фреймворк NUnit и фреймворк NMock. И поскольку я читаю статьи об использовании NMock, я должен использовать и Interface для моего модульного теста, но мои коды не имеют интерфейса. Нужно ли изменять коды моего веб-приложения и добавлять какой-либо интерфейс, или есть другие способы для этого?

Пожалуйста, сообщите.

Большое спасибо.

Ответы [ 2 ]

6 голосов
/ 29 июня 2011

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

Так что, если ваш контроллер зависит от SomeService, извлеките новый интерфейс ISomeService и зависите от этого. Именно здесь использование контейнера IoC для внедрения ваших зависимостей также поможет вам и будет продвигать слабосвязанный код.

В типичном n-уровневом приложении MVC мы бы проводили модульное тестирование нашего уровня доступа к данным, уровня обслуживания (имитация зависимости уровня доступа к данным), контроллеров MVC (имитация зависимости уровня сервиса).

Я не склонен проверять свои виды / модели зрения, потому что они все равно довольно тупые.

3 голосов
/ 29 июня 2011

Когда я впервые запустил MVC, я прочел книгу Apress MVC 2 Pro от Apress и очень рекомендовал ее (хотя книга MVC 3 выходит через несколько недель).Он объясняет, как спроектировать ваш сайт, чтобы он мог эффективно тестироваться модульно.Он также использует NUnit и Moq для тестирования.http://amzn.to/iIfij4

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