如何模拟具有“异步函数”类型参数的服务的依赖关系?

问题描述 投票:0回答:1

我这里有一个函数,用于获取队列中的日志。我如何模拟这个函数进行单元测试?

void QueueBackgroundWorkItem(Func<CancellationToken, IServiceProvider, Task> workItem);
Mock<IBackgroundTaskQueue> _Mock= new Mock<IBackgroundTaskQueue>();
_Mock.Setup(x=>x.QueueBackgroundWorkItem(?)).Returns(Task.CompletedTask);

谢谢你。

c# asp.net unit-testing xunit.net
1个回答
0
投票

如果您不测试特定参数,模拟此类方法的一种方法是使用

It.IsAny
:

_IBackgroundTaskQueueMock.Setup(x => x.QueueBackgroundWorkItem(It.IsAny<Func<CancellationToken, IServiceProvider, Task>>()))
    .Returns(Task.CompletedTask);
© www.soinside.com 2019 - 2024. All rights reserved.