.net-core - VSTS Visual Studio 设置环境变量测试项目

标签 .net-core environment-variables azure-devops integration-testing azure-pipelines

我正在 Visual Studio (2017) 中为基于 VSTS 构建并从那里部署的 Net Core 应用程序构建集成测试。我的项目是测试项目,现在我到部署的 API url 的连接字符串和数据库是硬编码的,但我想从代码中删除它们并将它们放在添加环境变量的 VSTS 构建步骤中。

现在,我的测试 .cs 文件看起来像这样:

[TestClass]
public class TestFeature
{
    //Set up variables
    private static string _connectionString = "server=localhost;port=5432;database=databaseName;user id=postgres;password=postgres";

    [TestInitialize]
    public void Initialize()
    {
    }

    //And going into my test methods
}

如何设置我的项目以读取从 VSTS 上的配置设置的环境变量?

到目前为止,我的研究成果是右键单击测试项目的Properties,在Debug下,设置带有键和值的环境变量。

然后我更改我的测试项目以采用 GetEnvironmentVariable()

private static string _connectionString = Environment.GetEnvironmentVariable(nameOfVariable);

在 VSTS 的另一端,我试图找到一个构建步骤,将变量设置为那里的连接字符串。我能找到的最佳步骤是“设置变量”。

但是,这对我不起作用。程序将无法识别环境变量中设置的新变量的名称,以启动。

最佳答案

您需要在“变量”选项卡中添加 VSTS 变量。

如果您想使用 Powershell 脚本任务以动态方式进行设置,另一种选择是使用 Powershell 来设置它们。

Write-Host "##vso[task.setvariable variable=sauce]crushed tomatoes"

https://learn.microsoft.com/en-us/vsts/build-release/concepts/definitions/release/variables?tabs=powershell

关于.net-core - VSTS Visual Studio 设置环境变量测试项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48408977/

相关文章:

mysql - 访问与 --link 链接的 Docker 容器中的环境变量

docker - 来自 docker-compose .env 文件的多个 Docker 构建参数

javascript - react |网页包 |在 Azure 上获取 process.env.NODE_ENV== 未定义

.net-core - MSBuild 如何检测 .NET Core 的版本?

.net - AppDomain.CurrentDomain.ProcessExit 事件的 DotNet Core 替代方案是什么?

c# - ORA-00604:递归SQL级别1发生错误ORA-01882:找不到时区区域

azure - 如何防止 Azure Devops 中的下一个发布管道在上一个发布管道完全完成之前启动?

.net-core - 持续部署环境中的 dotnet 语义版本控制

vue.js - 如何设置 Vue 环境变量而不将它们包含在 'build' 之后的 JS 文件中?

c# - .net Core Controller Action ,返回静态html页面