Я создаю интеграционные тесты в Visual Studio (2017) для приложений Net Core, созданных на VSTS и развернутых оттуда. Мои проекты являются тестовыми проектами, и прямо сейчас мои строки подключения к развернутому URL-адресу API и база данных жестко закодированы, но я хочу удалить их из кода и поместить на шаг сборки VSTS, который добавляет переменные среды.
Прямо сейчас мои тестовые файлы .cs выглядят примерно так:
[TestClass]
public class TestFeature
{
//Set up variables
private static string _connectionString = "server=localhost;port=5432;database=databaseName;user id=postgres;password=postgres";
[TestInitialize]
public void Initialize()
{
}
//And going into my test methods
}
Как мне настроить проект для чтения переменных среды, установленных в конфигурации на VSTS?
То, что мне пока удалось найти в ходе исследования, заключается в том, чтобы щелкнуть правой кнопкой мыши Свойства тестового проекта в разделе Отладка, настроить переменные среды с помощью там ключ и значение.
Затем я изменяю свой тестовый проект, чтобы использовать GetEnvironmentVariable().
private static string _connectionString = Environment.GetEnvironmentVariable(nameOfVariable);
С другой стороны, в VSTS я пытаюсь найти шаг сборки, который установит переменную в качестве строки подключения. Лучший шаг, который я мог найти, это «Установить переменную».
Однако это не работает для меня. Программа не распознает имя новой переменной, установленной в переменных среды, для запуска.