【发布时间】:2014-07-29 10:15:11
【问题描述】:
有没有办法在 MSBuild 单元测试中访问配置参数?
我已将 teamcity 配置为每隔几个小时运行一次冗长的测试集。 时不时地我想用特定的参数(字符串限制样本测试集)运行测试。我不想检查对单元测试的更改,而是想在团队城市中单击“运行...”并将值设置为某个参数。
这可能吗?
【问题讨论】:
标签: c# unit-testing msbuild teamcity
有没有办法在 MSBuild 单元测试中访问配置参数?
我已将 teamcity 配置为每隔几个小时运行一次冗长的测试集。 时不时地我想用特定的参数(字符串限制样本测试集)运行测试。我不想检查对单元测试的更改,而是想在团队城市中单击“运行...”并将值设置为某个参数。
这可能吗?
【问题讨论】:
标签: c# unit-testing msbuild teamcity
一种可能的解决方案是从 teamcity 中的构建参数设置环境变量,然后让测试查找此环境变量以确定要运行的内容。
如果您从配置步骤菜单中选择构建参数并添加新的构建参数,然后选择类型为EnvironmentVariable (.env),您可以将当你想运行一个受限集时的其他值。
您可以创建一个没有为此构建参数设置值的模板,然后为自动测试运行设置一个设置“all”值的模板实例。然后基于此模板进行另一个构建,该模板没有为此设置值,您可以将其用于手动运行。我相信,如果您没有为参数设置值,那么 TeamCity 会在您尝试运行构建时提示您(但我不确定)
一旦您在 teamcity 中定义了一个名为 env.file_path_contains 的变量,您就可以使用以下代码在测试中访问它的值:
System.Environment.GetEnvironmentVariable("file_path_contains")
【讨论】: