Как инициализировать IOption <AppSettings> для модульного тестирования службы .NET Core MVC?

У меня есть основной сервис MVC для .NET. У меня есть контроллер, который я хочу проверить. Этот контроллер имеет аргумент конструктора IOptions, где AppSettings - это мой класс для настроек конфигурации (я храню в нем строку подключения к базе данных). Он вводится из настройки в ConfigureServices в Startup.cs

Служба отдыха работает. Моя проблема в том, что я настроил тестовый проект MSTest для тестирования сервиса. Я не могу понять, как инициализировать экземпляр IOptions, чтобы удовлетворить конструктор моего контроллера.

Ответ 1

Я обнаружил ответ вскоре после публикации вопроса.

использовать класс помощника Microsoft.Extensions.Options.Options

Создает оболочку вокруг экземпляра TOptions, чтобы вернуть себя как IOptions

AppSettings appSettings = new AppSettings() { ConnectionString = "..." };
IOptions<AppSettings> options = Options.Create(appSettings);
MyController controller = new MyController(options);