我有一个TeamCity
管道,其中包括一个.NET CLI (dotnet) test
构建步骤,该步骤运行一个包含.NET Console App Project
集成测试的MTTest
。
由于TeamCity
作业在各种环境中运行,并且各种配置是特定于环境的,例如目标数据库,所以我想以某种方式将环境名称传递给测试。
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
目前尚不清楚如何向此列表添加其他命令行参数。
我想另一种选择可能是环境变量,但是对于仅作为构建的一部分运行一些自动化测试来说似乎有点繁琐。