Как получить экземпляр сервиса в классе интеграционного теста, используя Structuremap 4.4

Используя asp.net core(1.1) и structmap (v4.4), я хочу получить экземпляр моего dbContext (для вставки начальных данных и т. д.)

как я могу получить экземпляр моего dbContext? Я видел, что нормальный способ это ввести IContainer container в конструктор класса, но в моем классе тестов интеграции конструктор будет разрешен до инициализации контейнера (поскольку в моей тестовой настройке я вызываю класс запуска:

_server = new TestServer(new WebHostBuilder()
            .UseEnvironment("testing")
            .UseStartup<Startup>());

и контейнер, инициализированный в классе statup. (var container = new Container();)

теперь я хочу сделать в моем тесте что-то вроде AbContext.Accounts.Add(new Account()); как я могу получить экземпляр Abcontext?

Я думаю, что с устаревшим статическим objectFactory - это можно легко сделать с помощью objectFactory.Container.GetInstanse(). Итак, я буду очень рад найти текущий эквивалент для этого.

0 ответов