Краткая версия моих вопросов:
- Может ли кто-нибудь указать мне на некоторые хорошие, подробные источники, из которых я может узнать, как реализовать тестирование в моем приложении MVC 3, используя NUnit, Ninject 2 и Moq?
- Может ли кто-нибудь здесь пояснить, как контроллер-репозиторий развязка, насмешливость и инъекция зависимости работают вместе?
Более длинная версия моих вопросов:
Что я пытаюсь сделать...
В настоящее время я начинаю создавать приложение MVC 3, которое будет использовать Entity Framework 4 с базовым подходом к базе данных. Я хочу сделать это правильно, поэтому я пытаюсь разработать классы, слои и т.д., Чтобы быть высоко проверяемыми. Но у меня мало опыта без модульного тестирования или тестирования интеграции, кроме академического понимания их.
После многих исследований я решил использовать
- NUnit как платформа для тестирования
- Ninject 2 как моя инфраструктура внедрения зависимостей
- Moq как моя издевательская структура.
Я знаю, какая тема лучше всего подходит и т.д., может вступить в это, но на данный момент я действительно не знаю достаточно об этом, чтобы сформировать солидное мнение. Итак, я просто решил пойти с этими бесплатными решениями, которые, кажется, очень понравились и ухожены.
То, что я узнал до сих пор...
Я потратил некоторое время на то, чтобы проработать некоторые из этих материалов, читая такие ресурсы, как:
- Реализация шаблона хранилища и единицы работы в Приложение ASP.NET MVC
- Построение тестовых приложений ASP.NET MVC
- NerdDinner Шаг 12: Тестирование устройств
- Использование шаблонов репозитория и единицы работы с платформой Entity Framework 4,0
Из этих ресурсов мне удалось разобраться в необходимости шаблона репозитория, в комплекте с интерфейсами репозитория, чтобы разделить мои контроллеры и логику доступа к данным. Я уже написал некоторые из них в моем приложении, но я признаю, что не знаю, что касается механики всего этого, и я делаю это развязку в поддержку насмешливой или зависимой инъекции или и того, и другого. Таким образом, я, конечно, не прочь услышать от вас, ребята, об этом тоже. Любая ясность, которую я могу получить по этому поводу, поможет мне в этот момент.
Там, где все стало грязно для меня...
Мне казалось, что я хорошо разбираюсь в этом материале, пока не начал обнимать Ninject, как описано в Building Testable ASP.NET MVC Applications, процитированное выше. В частности, я полностью потерялся в момент, когда автор начинает описывать реализацию уровня сервиса, примерно наполовину в документе.
В любом случае, теперь я ищу больше ресурсов для изучения, чтобы попытаться получить различные перспективы вокруг этого материала, пока он не станет иметь для меня смысл.
Подводя итог всему этому, перекинув его на конкретные вопросы, мне интересно следующее:
- Может ли кто-нибудь указать мне на некоторые хорошие, подробные источники, из которых я может узнать, как реализовать тестирование в моем приложении MVC 3, используя NUnit, Ninject 2 и Moq?
- Может ли кто-нибудь здесь пояснить, как контроллер-репозиторий развязка, насмешливость и инъекция зависимости работают вместе?
EDIT:
Я только что открыл официальную вики Ninject в Github, поэтому я собираюсь начать с этого, чтобы узнать, начнет ли он прояснять вещи для меня. Но я все еще очень заинтересован в мыслях сообщества SO по всему этому:)