У меня есть TeamCity
конвейер, который включает .NET CLI (dotnet) test
шаг сборки, который запускает .NET Console App Project
, который содержит MTTest
интеграционные тесты.
Поскольку задание TeamCity
выполняется в различных средах и различные конфиги имеют спецификацию среды c, например target db, я бы хотел как-то передать имя среды тестам.
TeamCity
включает возможность предоставления аргументов командной строки.
Command line parameters:
= --environment CI
Поскольку MTTest
проекты .NET Core Console Project
Я бы ожидал, что все параметры командной строки будут доступны, как в коде.
Но Environment.GetCommandLineArgs()
не содержит --environment
или CI
.
Вместо этого он содержит набор аргументов, очевидно предоставленных организатором теста:
{path to test assembly dll}
--port
55823
--endpoint
127.0.0.1:55823
--role
client
--parentprocessid
16208
--telemetryoptedin
true
Не ясно, как добавить дополнительные аргументы командной строки к этому списку.
Я полагаю, что другой вариант мог бы быть переменными среды, но это кажется немного сложным для простого запуска некоторых автоматических тестов как часть сборки.