如何修复 system.NotsupportedException 最小起订量使用,尝试最小起订量对象

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

error

我正在尝试模拟一个对象

_logger = new Mock<ILogger>();
_sender = new Mock<ServiceBusMessageSender>();

此行抛出错误:

_sender.Setup(x => x.SendMessageToQueue(It.IsAny<MyClass>(), It.IsAny<ILogger>())).ReturnsAsync(true);

这是我无法设置的方法的签名:

public async Task<bool> SendMessageToQueue(MyClass msg, ILogger log);

我不明白为什么这个方法不能被覆盖。

我没想到会出现错误, 我尝试使用mockbehaviour.loose,可验证

c# unit-testing moq
1个回答
0
投票

@ProgrammingLlama 在评论中给出了答案,我在方法签名中添加了 virtual 。

问题很简单,我没有意识到我看到的大多数示例都是模拟接口而不是类,因此该方法可以被重写,而不是在类中

© www.soinside.com 2019 - 2024. All rights reserved.