Я работаю над проектом с Entity Framework. Я хочу знать, нормально ли использовать подключение для зависимостей Entity для Entity для модульного тестирования. Я хочу начать с маленького погружения в мир DI, а также использовать (протестировали в простом приложении) Autofac в качестве контейнера. Также вопрос на будущее. Если у меня есть более 50 моделей просмотра, как я предполагаю использовать для них инъекцию зависимостей. Я прочитал в сети, что не нормально иметь более 5 зависимостей в конструкторе контроллера.Injection Dependency В контроллере ASP.net
ответ
Хотя ваш вопрос на самом деле не относится к stackoverflow, я попытаюсь дать вам толчок в правильном направлении, предложив два действительно полезных фреймворка с открытым исходным кодом.
Ninject
действительно прост в использовании и сделает внедрение зависимой инъекции намного более приятным и структурированным.Moq
используется для написания модульных тестов и помогает с «mocking», что имеет решающее значение для MVC и любых инъекций зависимости.
Обе каркасы легко доступны с помощью NuGet Package Manager
.
Существует множество учебных пособий и демонстраций, доступных по всему Интернету, но here - это простой учебник для написания модульных тестов с использованием этих двух фреймворков, чтобы начать вас.
Я прочитал книгу Pro MVC 5 Адама Фримана (он использовал Ninject и Moq), но когда я читал, у меня не было компьютера. Autofac похож на Ninject. Я хочу протестировать свою программу, не вставляя информацию в реальную базу данных. –
. Для чего нужен moq, вам не нужен Ninject для использования moq. – Oceans
Я не знал, что могу использовать Moq withoud Injection, да, логично это так, хорошо, тогда моя главная цель будет moq: D thanks –
инъекция зависимостей не ограничивается только для модульного тестирования, это для ослабленной связи модулей –
Я стартер, и, начиная без цели, не мой стиль, для начала я хочу знать, как использовать DI для модульного тестирования, особенно для базы данных, потому что приложение, которое я использую, имеет много форм вставки. –
У вас есть googled, как использовать DI в asp.net mvc? –