【发布时间】:2017-02-09 08:27:34
【问题描述】:
我有一个简单的单元测试,需要验证我的方法是否调用了IModel.BasicPublish 方法。所以我写了一个简单的单元测试:
[TestMethod]
public void RequestAdded()
{
const string url = "http://localhost";
var urlBytes = Encoding.UTF8.GetBytes(url);
_proxyService.AddRequest(url);
_moqModel.Verify(x => x.BasicPublish(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<IBasicProperties>(), urlBytes), Times.Once);
}
但是,当我运行时出现错误:
invalid verify on a non-virtual member.
我认为这只会发生在具体类上,而不是接口上。
private Mock<IModel> _moqModel;
有什么想法吗?
【问题讨论】:
-
你试过了吗... _moqModel.As
().Verify(x => x.BasicPublish(It.IsAny (), It.IsAny (), It.IsAny (), urlBytes), Times.Once); -
请检查BasicPublish是接口成员还是扩展方法。将 BasicPublish 作为扩展方法而不是实际成员可能会导致此异常
-
提供可用于重现问题的minimal reproducible example。此示例中没有足够的上下文,因为当前显示的内容不应导致该错误。
标签: c# unit-testing rabbitmq