在管道的单元测试中使用KeyVaults变量组

时间:2020-10-19 15:53:48

标签: c# unit-testing asp.net-core azure-devops

在管道中执行测试时,如何在测试中使用此变量的值?

我正在尝试通过下一个配置获取值,但没有成功

有人举个例子吗?还是可以尝试的?

var builder = new ConfigurationBuilder()
               .SetBasePath(Directory.GetCurrentDirectory())
               .AddJsonFile("appsettings.json", optional: true)
               .AddUserSecrets<ExportReportsRunnerTest>()
               .AddEnvironmentVariables();

Configuration.GetSection("DevOpsSqlConnectionString").Value
Configuration.GetValue<string>("DevOpsSqlConnectionString")

KeyVaults variable group

在此先感谢大家!

1 个答案:

答案 0 :(得分:1)

如果您在管道的Visual Studio Test task中运行测试。您可以在runsettings文件的TestRunParameters部分或testsettings文件的Properties部分中定义DevOpsSqlConnectionString参数。

然后,您可以指定Visual Studio Test任务的overrideTestrunParameters字段,以使用管道变量组中的变量覆盖runsettings或testsettings文件中定义的参数。请参见下面对overrideTestrunParameters字段的说明。

覆盖在runsettings文件的TestRunParameters部分或testsettings文件的Properties部分中定义的参数。例如:-key1 value1 -key2 value2

enter image description here

如果您使用Dotnet test在管道中运行测试。或者在其他一些配置文件中定义了DevOpsSqlConnectionString参数。在运行测试之前,可以使用扩展任务Magic Chunks用变量组中的变量覆盖参数。您也可以在this thread中查看示例。

enter image description here