【问题标题】:Use KeyVaults variable group in unit test of pipeline在管道的单元测试中使用 KeyVaults 变量组
【发布时间】:2020-10-19 15:53:48
【问题描述】:

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

我正在尝试使用下一个配置获取值但没有成功

谁有例子?或尝试什么?

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

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

提前感谢大家!

【问题讨论】:

  • 嗯,一个明显的问题是 DevOpsSqlConnectionString 不是一个部分。这是一把钥匙。 .NET Core 配置请参考文档。
  • 是的,我失败了,但 Configuration.GetValue("DevOpsSqlConnectionString") 也不起作用

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


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 2020-08-04
    • 2018-02-14
    • 1970-01-01
    相关资源
    最近更新 更多