【发布时间】:2019-08-05 13:01:20
【问题描述】:
我有一个我正在尝试测试的方法,它使用我的“local.settings.json”中的环境变量
private static string _environmentVar = Environment.GetEnvironmentVariable("envirnomentVarConfig");
public string MyMethod()
{
var result = DoStuff(_environmentVar)
return result;
}
在我的测试中,我调用了这个方法,在调试时,我可以看到 _environmentVar 为空。
我需要在测试中设置 envirnomentVarConfig 吗?如果有怎么办?
【问题讨论】:
-
为什么你认为 local.settings.json 会被读取并填充到环境变量中?
-
我希望它能够读取它,因为当测试调用该方法时,GetEnvironmentVariable 在该方法之前被命中,这让我相信它会从设置 json 中获取该变量。显然不是
-
我只是好奇为什么您认为将某些内容放入 .json 文件会导致它成为环境变量。这不是不可能的——你可以有一些你没有向我们展示的代码来做到这一点。但它不会开箱即用。如果您需要从文件中读取配置,则需要使用专门的类来执行此操作。 Environment.GetEnvironmentVariable 不这样做。
-
正常运行代码就可以了?
-
您的意思是在运行应用程序时不是作为单元测试?你那里有额外的代码来读取配置吗?也许在 Startup.cs 文件中?
标签: c# .net asp.net-core .net-core mstest