如何在 Nunit 中 Moq DataFactoryManagementClient?
How to Moq DataFactoryManagementClient in Nunit?
网络核心项目。我的存储库中有如下一种方法。
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
方法中的 return 类型,并在设置(测试方法)中使用 return 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
}
网络核心项目。我的存储库中有如下一种方法。
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
方法中的 return 类型,并在设置(测试方法)中使用 return 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
}