【发布时间】:2020-06-09 14:20:57
【问题描述】:
我正在尝试通过以下方式在MsTest 测试用例中使用HostBuilder 类:
[TestMethod]
public void SomeTest()
{
var builder = new HostBuilder()
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.AddJsonFile("appsettings.json", optional: true);
})
.ConfigureServices((hostContext, services) =>
{
var section = hostContext.Configuration.GetSection("AppConfig");
Assert.IsNotNull(section.Value, "Appconfig sections was not loaded");
});
var host = builder.Build();
}
所以我有一个appsettings.json 文件被添加到config 对象中。
问题:当调用hostContext.Configuration.GetSection("AppConfig") section.Value 是null(Assert 被触发)。如果我调试代码,我可以看到hostContext.Configuration 有一个JsonConfigurationProvider,它已经解析了appsettings.json 中定义的适当值。
环境: netcoreapp3.1
Update1:我已将源代码上传到Github。
任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
您的测试项目中有
appsettings.json文件吗?确保在appsettings.json的文件属性中选择“如果较新则复制”或“始终复制”。 -
是的,它在项目中,否则“AddJsonFile”会抛出异常。
-
也复制了。