gpt4 book ai didi

c# - 模拟 IOptionsMonitor

转载 作者:太空狗 更新时间:2023-10-29 23:19:51 26 4
gpt4 key购买 nike

如何在构造函数中为需要 IOptionsMonitor 的类手动创建类实例?

我的类(class)

private readonly AuthenticationSettings _authenticationSettings;

public ActiveDirectoryLogic(IOptionsMonitor<AuthenticationSettings> authenticationSettings)
{
_authenticationSettings = authenticationSettings.CurrentValue;
}

我的测试

AuthenticationSettings au = new AuthenticationSettings(){ ... };
var someOptions = Options.Create(new AuthenticationSettings());
var optionMan = new OptionsMonitor(someOptions); // dont work.
ActiveDirectoryLogic _SUT = new ActiveDirectoryLogic(au);

我试图手动创建一个 IOptionsMonitor 对象,但不知道怎么做。

最佳答案

您正在调用 OptionsMonitor<TOptions> 的构造函数类错误。

在这种情况下,我只会 mock IOptionsMonitor<AuthenticationSettings>界面

例如使用 Moq

AuthenticationSettings au = new AuthenticationSettings() { ... };
var monitor = Mock.Of<IOptionsMonitor<AuthenticationSettings>>(_ => _.CurrentValue == au);
ActiveDirectoryLogic _SUT = new ActiveDirectoryLogic(monitor);

关于c# - 模拟 IOptionsMonitor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55950932/

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