ca9*_*3d9 5 c# .net-core asp.net-core
我IOptions<>
根据https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options使用.
我有以下控制器.
using Microsoft.Extensions.Options;
public class MyController : Controller
{
private readonly ILogger<SourceController> _logger;
private readonly MyOptions _option;
public SourceController(ILogger<SourceController> logger, IOptions<SyncOptions> optionAccessor)
{
_logger = logger;
_option = optionAccessor.Value;
}
Run Code Online (Sandbox Code Playgroud)
现在我正在创建一个单元测试设置.如何模拟IOptions()?
MyTest() { // Test constructor
var loggerFactory = new LoggerFactory().AddConsole(LogLevel.Information).AddDebug().AddNLog();
loggerFactory.ConfigureNLog("nlog.config");
logger = loggerFactory.CreateLogger<MyController>();
option = new Options<MyOptions>(); // Error! How to mock IOptions<MyOptions>()?
app = new MyController(logger, option);
Run Code Online (Sandbox Code Playgroud)
Ehs*_*zir 12
使用帮助程序类 Microsoft.Extensions.Options.Options
尝试更换
option = new Options<MyOptions>();
Run Code Online (Sandbox Code Playgroud)
同
option = Options.Create(new MyOptions());
Run Code Online (Sandbox Code Playgroud)
关于什么:
var optionsMock = new Mock<IOptions<MyOptions>>();
optionsMock.SetupGet(o => o.Value).Returns(new MyOptions());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2843 次 |
最近记录: |