Я пишу примеры модульных тестов xUnit для приложения dotnet core, которое использует DocumentDB (CosmosDB) в качестве хранилища. Модульный тест написан для выполнения на локальном эмуляторе Cosmos db. В среде сборки Azure DevOps я настроил задача Azure Cosmos DB CI/CD, которая внутри создает контейнер для установки эмулятора. Однако я не могу понять, как конечная точка эмулятора может быть передана в приспособление xUnit?
Есть ли способ, с помощью которого прибор xUnit может считывать параметры теста .runsettings или параметры могут быть переданы из другого источника?
Обновить
В настоящее время я реализовал сценарий с использованием переменной среды, но все еще не доволен определением строки подключения в качестве переменной среды с помощью powershell в задаче сборки и чтением ее в коде во время выполнения модульного теста. Я думал, может ли быть другой способ добиться этого.
На снимке ниже показано, как задачи сборки настроены в настоящее время в качестве обходного пути для достижения желаемого:
И код для чтения значения как
var serviceEndpoint = Environment.GetEnvironmentVariable("CosmosDbEmulatorEndpointEnvironmentVariable");
Поскольку задача UnitTest предоставляет возможность передать .runsettings/.testsettings с возможностью переопределения параметров тестового запуска, поэтому я думал, что с помощью этих параметров можно чего-то добиться.