相关疑难解决方法(0)

如何构建 IOptions<T> 进行测试?

在 ASP.NET Core 2 中,我有以下类 IOptions<T>

public class MyOptions
{
    public string Option1 { get; set; }
    public string Option2 { get; set; }
}


public class MyService:IMyService
{
  private readonly MyOptions _options;
  public MyService(IOptions<MyOptions> options)
  {
    _options = options.Value;
  }
}
Run Code Online (Sandbox Code Playgroud)

appsettings.json

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },  
  "MyOptions": {
    "Option1": "option 1 value",
    "Option2": "option 2 value"
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我 startup.cs 我注册选项如下

services.Configure<MyOptions>(Configuration.GetSection("MyOptions"));
Run Code Online (Sandbox Code Playgroud)

dotnet 能够注入IOptions<MyOptions>MyService 类。

现在,我有集成测试项目。我已将相同的 appsettings.json 复制到集成测试项目中。我想创建IOptions<MyOptions>从 …

.net-core coreclr asp.net-core asp.net-core-2.0

4
推荐指数
1
解决办法
2176
查看次数