首页 > 解决方案 > 运行使用来自 Visual Studio 和 Azure DevOps 的应用设置的 XUnit 集成测试

问题描述

我有一个集成测试 .NET 5 XUnit 项目。我正在使用 XUnit 2.4 和 XUnit.Runner.VisualStudio 2.4。本项目中的集成测试需要一个配置值,即 ApiUrl。我想以两种方式运行集成测试:

  1. 从 Visual Studio 使用 All Test Run 或 ReSharper
  2. 从 Azure DevOps 的管道并从管道变量传递 ApiUrl,这将覆盖项目设置中的一个

我的问题:

标签: azure-pipelinesxunit.net-5

解决方案


可以通过 将环境变量添加到您的任务中,env:然后您可以在代码中读取这些变量:

- task: DotNetCoreCLI@2
  inputs:
    command: test
    projects: "tests/**/*Tests.csproj"
  env:
    ApiUrl: $(PipelineVariable)

在您的 C# 代码中:

var apiUrl = Environment.GetEnvironmentVariable("ApiUrl") ?? "http://example.com";

推荐阅读