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

Vet*_*ras 3 c# integration-testing environment-variables asp.net-core

我们可以执行测试服务器进行集成测试.就像是:

精细.

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

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


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

Sha*_*tin 10

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

System.Environment.SetEnvironmentVariable("key", "value");
Run Code Online (Sandbox Code Playgroud)

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

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