.net 单元测试空任务与Moq

dzjeubhm  于 2023-05-02  发布在  .NET
关注(0)|答案(2)|浏览(121)

我有以下方法

Task SendMessage(ServiceBusRequest serviceBusRequest);

在我的单元测试中我这样做

_serviceBusAdapter.Setup(p => p.SendMessage(It.IsAny<ServiceBusRequest>())).Returns(Task.FromResult(default(object)));

但是,这会引发空引用异常。我做错了什么?
我也试过

_serviceBusAdapter.Setup(p => p.SendMessage(It.IsAny<ServiceBusRequest>())).Returns(Task.CompletedTask);

但它也抛出了同样的异常
我正在使用以下软件包

<PackageReference Include="Moq" Version="4.16.0" />
qnzebej0

qnzebej01#

尝试返回Task.CompletedTask。链接到文档。

mrwjdhj3

mrwjdhj32#

可能是参数本身有问题。你试过这个吗?

var mockRequest = new Mock<ServiceBusRequest>();
_serviceBusAdapter.Setup(p => p.SendMessage(mockRequest.Object)).Returns(Task.CompletedTask);

相关问题