У меня есть веб-приложение с несколькими контроллерами REST API.Эти контроллеры получили внедренные репозитории согласно этому руководству с использованием SimpleInjector.Я хотел бы добавить в проект несколько сквозных тестов, чтобы убедиться, что вызовы методов контроллера влияют на базу данных предсказуемым образом (сначала я использую EF6, MySQL, код).Я собирался использовать этот план для тестирования моего приложения.Мне нравится общий подход, но кажется, что в этом подходе автор вводит контекст БД непосредственно в контроллер.В моем случае у меня есть контроллер, который получает встроенный репозиторий от конструктора и, в свою очередь, репозиторий получает внедренный DbContext.Очевидно, что я могу жестко закодировать цепочку создания DbContext, создать экземпляр Repository, а затем создать экземпляр Controller, но это не соответствует цели использования SimpleInjector, не так ли?Я думаю, что должен быть способ сделать это более прозрачным способом.
По сути, я хотел бы добавить отдельную базу данных в мои тесты.Когда сервер работает, он использует одну базу данных, когда тесты используют другую специальную базу данных.
У меня есть тестовые классы в отдельном проекте, поэтому мне потребуется способ создания экземпляров моих контроллеров иХранилища из основного проекта.Я не уверен, как я могу это сделать.Является ли хорошей идеей каким-то образом выставить мой SimpleInjector.Container
из другого проекта?
Дополнительная информация: Я использую .Net Framework (не-Core), я хотел бы сейчас управлять безшумным издевательством, если это не требуется.