Как получить доступ к параметрам конфигурации teamcity в модульных тестах MSBuild


Существует ли способ доступа к параметрам конфигурации в рамках модульных тестов MSBuild?

Я настроил teamcity на запуск длинного набора тестов каждые пару часов. Время от времени я хочу запустить тест с определенным параметром (строка, ограничивающая набор тестов). Вместо того, чтобы проверять изменения в модульном тесте, я хотел бы нажать кнопку " Выполнить..."в team city и установить значение для некоторого параметра.

Возможно ли это?

1 4

1 ответ:

Одно из возможных решений состоит в том, чтобы установить переменную среды из параметра сборки в teamcity, а затем заставить тест искать эту переменную среды, чтобы определить, что запускать.

Если вы выберете параметры сборки в меню шаги настройки и добавите новый параметр сборки, а затем выберите тип как EnvironmentVariable (.env), Вы можете установить некоторое значение, например "все", когда вы хотите запустить все тесты, и некоторое другое значение, когда вы хотите запустить ограниченный набор.

Вы можете быть возможность создать шаблон, который не имеет значения, заданного для этого параметра сборки, а затем иметь один экземпляр шаблона, который задает значение "все", для автоматического запуска теста. Затем создайте другую сборку, основанную на этом шаблоне, который не устанавливает значения для этого, которое вы используете для ручных запусков. Я считаю, что если вы не задали значение для параметра, то TeamCity предложит вам его при попытке запустить сборку (но я не уверен в этом)

После определения переменной вызывается env.file_path_contains в teamcity, то вы можете получить доступ к его значению в ваших тестах, используя этот код:

System.Environment.GetEnvironmentVariable("file_path_contains")