Какой простой образ жизни с использованием инжектора я должен использовать во время модульного тестирования?

#unit-testing #dependency-injection #simple-injector

#модульное тестирование #внедрение зависимостей #простой инжектор

Вопрос:

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

Настройка: Система.Исключение InvalidOperationException: чтобы иметь возможность использовать образ жизни.Свойство с областью действия, пожалуйста, убедитесь, что контейнер настроен на образ жизни с областью действия по умолчанию, установив контейнер.Опции.Свойство DefaultScopedLifestyle с требуемым образом жизни с областью действия для вашего типа приложения.

Какой DefaultScopedLifestyle я должен использовать в моем случае? Область действия действительно должна быть одноэлементной, но помните, что я повторно использую регистрационный код из приложения webapi.

Ответ №1:

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