内存集成测试和环境变量——.net core

10

我们可以执行一个用于集成测试的测试服务器。类似于:

好的。

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

有人知道怎么做吗?


环境变量会携带我们的代码库所需的第三方API的开发登录信息。 对于单元测试,我们模拟这个第三方API。 解决我的具体问题的方法是在集成测试中也模拟这个API,从而消除了对环境变量的需求,但即使如此,问题仍然存在。

1个回答

25

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

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

MSDN提到SetEnvironmentVariable(string, string)可以创建、修改或删除当前进程中存储的环境变量...由于环境变量仅在当前进程的环境块中定义,因此在进程结束后不会持久存在。


完全忘记了。我用它来读取变量。谢谢! - Vetras
在使用Ubuntu托管代理的Azure DevOps管道中无法工作。还有其他想法吗? - Christophe Gigax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接