内存中集成测试和环境变量 - .net核心

时间:2017-02-03 17:56:02

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

我们可以执行测试服务器进行集成测试。类似的东西:

精细。

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

任何人都知道如何做到这一点?

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

1 个答案:

答案 0 :(得分:8)

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

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

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

  

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