Главная страница   /   6. Важные инструменты MVC (ASP.NET MVC 4

ASP.NET MVC 4

ASP.NET MVC 4

Адам Фриман

6. Важные инструменты MVC

В этой главе мы рассмотрим три инструмента, которые должны быть в арсенале каждого MVC программиста: контейнер внедрения зависимостей (DI), фреймворк для модульного тестирования и инструмент для мокинга (mock-объектов).

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

Как мы уже отмечали в главе 3, Ninject – наш предпочитаемый DI контейнер. Он простой, элегантный и легкий в использовании. Есть более сложные альтернативы, но нам нравится способ, которым работает Ninject, причем, с минимумом настроек. Мы считаем отправной точкой паттерны, а не закон, и мы нашли что легко подгонять наш DI с Ninject к различным проектам и рабочим процессам. Если вам не нравится Ninject, мы рекомендуем попробовать Unity, который является одной из альтернатив Microsoft.

Для модульного тестирования мы будем использовать то, что встроено в Visual Studio. Мы привыкли использовать NUnit, который является самым популярным .NET фреймворком для модульного тестирования, но Microsoft сделал большой рывок в улучшении поддержки модульного тестирования в Visual Studio (и в настоящее время включает ее в бесплатное выпуски Visual Studio). В результате этого фреймоворки для модульного тестирования, тесно интегрированы в остальную части IDE и они стали довольно хорошими.

Третий инструмент, выбранный нами, это Moq, который является набором мокинг инструментов. Мы используем Moq в создании реализаций интерфейсов для использования в наших модульных тестах. Программисты или любят, или ненавидят Moq; третьего не дано. Либо вы посчитаете синтаксис элегантным и выразительным, или вы будете проклинать его каждый раз при попытке использования. Если вам он не по душе, обратите внимание на Rhino Mocks, который является хорошей альтернативой.

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

Примечание

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

6.1. Создание проекта для примера

6.2. Использование Ninject

6.3. Модульное тестирование при помощи Visual Studio

6.4. Использование Moq

6.5. Резюме