Asp.Net-5类库(包)测试注入IOptions

时间:2015-10-14 21:00:20

标签: asp.net asp.net-core

我创建了一个新的proyect:类库(Package)来测试我的存储库, 因为我需要测试一个我正在使用asp.net vnext消费的DataRepository层。

我想使用像asp.net vnext这样的DI,但我无法从IServiceCollection创建实例并注入IOptions。

我试过

var serviceProvider = new ServiceCollection()
    .AddTransient<ISampleRepository, SampleRepository>()
    .BuildServiceProvider();

SampleRepository的Ctor是

public SampleRepository(IOptions<Settings> settings)

但是我收到以下错误消息:

结果消息:无法解析类型'Microsoft.Framework.OptionsModel.IOptions`1 [Repository.Sample.Settings]'的服务 尝试激活'Repository.Sample.SampleRepository'时。

2 个答案:

答案 0 :(得分:1)

您需要添加$(document).on('close.fndtn.reveal', '#ex6-4', function () { $('.number').html("test"); }); 服务以解析OptionsManager

等类型

IOptions<>

答案 1 :(得分:1)

您仍然需要填充并注册Repository.Sample.Settings对象:

serviceProvider.Configure<Settings>(Configuration.GetSection("Settings"));

serviceProvider.Configure<Settings>(options =>
{
    options.MyField1 = Configuration["Settings:MyField1"];
    options.MyField2 = Configuration["Settings:MyField2"];
});