0

我在 Azure 门户中有一个功能标志,用于 .NET Core Web 应用程序中的某些控制器。

在运行时,它可以在真实门户上正确打开和关闭 FF。

我应该编写 2 个单元测试,模拟功能标志何时打开和何时关闭。

对于关,我可以写

var featMan = new Mock<IFeatureManager>().Object;

它有效,问题是模拟何时开启。

我找到了这个页面,https://github.com/microsoft/FeatureManagement-Dotnet/issues/19#issue-517953297,但在可下载的代码中没有 StubFeatureManagerWithFeatureAOn 定义。

4

1 回答 1

1

您只需将您的配置Mock为在特定情况下返回特定值。例如,为了模仿你会写这样test-featureOn东西

[Test]
public async Task TestFeatureManager()
{
    var featureManageMock = new Mock<IFeatureManager>();
    featureManageMock
        .Setup(m => m.IsEnabledAsync("test-feature"))
        .Returns(Task.FromResult(true));

    var featureManager = featureManageMock.Object;

    Assert.IsTrue(await featureManager.IsEnabledAsync("test-feature"));
}
于 2021-09-21T13:59:42.760 回答