【问题标题】:In-memory integration tests and Environment Variables -- .net core内存集成测试和环境变量——.net core
【发布时间】:2017-06-21 04:17:02
【问题描述】:

我们可以执行一个测试服务器来进行集成测试。比如:

很好。

但是,我无法将环境变量传递给测试服务器。 我可以使用UseEnvironment("Development") 设置环境,但不能添加变量。 应该可以,但是不知道怎么弄。

有人知道这是怎么做到的吗?


环境变量将为我们的代码库所需的第 3 方 API 携带开发登录信息。 对于单元测试,我们模拟了这个第 3 方 API。 针对我的特定问题的解决方案也可以模拟它以进行集成测试,从而消除对环境变量的需求,但即便如此问题仍然存在。

【问题讨论】:

    标签: c# asp.net-core environment-variables integration-testing


    【解决方案1】:

    您可以通过编程方式设置环境变量。

    System.Environment.SetEnvironmentVariable("key", "value");
    

    MSDN 写道SetEnvironmentVariable(string, string)...

    创建、修改或删除存储在当前进程中的环境变量... 因为环境变量只定义在当前进程的环境块中,所以在进程结束后它不会持续存在。

    【讨论】:

    • 完全忘记了这一点。我用它来读取变量。谢谢!
    • 无法在带有 ubuntu 托管代理的 Azure DevOps 管道中工作。还有其他想法吗?
    猜你喜欢
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 2020-01-02
    • 2020-07-08
    • 1970-01-01
    • 2011-03-05
    相关资源
    最近更新 更多