如何在Nunit中起订DataFactoryManagementClient?

问题描述

.net核心项目。我的存储库中有一种如下所示的方法。

public DataFactoryManagementClient InitiateConnection(AuthenticationConfig authenticationConfig);

我正在业务层中调用上述方法。

 public async Task<List<MyList>> MyMethod(IEnumerable<FileEntity> fileEntities)
        {
            DataFactoryManagementClient dataFactoryManagementClient = azureDataFactoryRepository.InitiateConnection(_authenticationConfig);
            //rest of the code
        }

现在我正在为上述方法编写单元测试用例。

[Test]
        public async Task Mytest()
        {
           azureDataFactoryRepository.Setup(
               x => x.InitiateConnection(
               It.IsAny<AuthenticationConfig>())).Returns(new DataFactoryManagementClient());
           //rest of the code
        }

在上面的代码中,我返回了新的DataFactoryManagementClient(),但是由于保护级别的原因,它说错误Datafactorymanagementclient.Datafactorymanagementclient(params DelegateHandler []))不可用。所以我很困惑我是否在做正确的事?有人可以帮我解决这个问题吗?任何帮助,将不胜感激。谢谢

解决方法

您可以使用IDataFactoryManagementClient作为InitiateConnection方法的返回类型,并在设置(测试方法)中通过以下代码返回IDataFactoryManagementClient的模拟物:

    [Test]
    public async Task Mytest()
    {
       var dataFactoryManagementClientMock = new Mock<IDataFactoryManagementClient>();
       azureDataFactoryRepository.Setup(
           x => x.InitiateConnection(
           It.IsAny<AuthenticationConfig>())).Returns(dataFactoryManagementClientMock.Object);
       //rest of the code
    }

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...