gpt4 book ai didi

c# - 如何创建 IOptions 的模拟实例?

转载 作者:太空狗 更新时间:2023-10-29 22:18:23 25 4
gpt4 key购买 nike

我正在使用 IOptions<>根据 https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options .

我有以下 Controller 。

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;
}

现在我正在创建一个单元测试设置。如何模拟 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);

最佳答案

使用辅助类 Microsoft.Extensions.Options.Options

尝试替换

option = new Options<MyOptions>(); 

option = Options.Create(new MyOptions());

关于c# - 如何创建 IOptions<MyOption> 的模拟实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48287699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com