我有一个接口IBackgroundJobClient
,它的扩展方法为Enqueue
void Enqueue<T>(this IBackgroundJobClient client, Expression<Action<T>> action);
我这样称呼
void schedule(int id)
{
_job.Enqueue<FileUploadService>(x => x.UploadFile(id));
}
使用Moq
我正在尝试验证是否调用了入队
private Mock<IBackgroundJobClient> _jobClient = new Mock<IBackgroundJobClient>();
在测试中,我试图验证其是否调用过一次
schedule();
_jobClient.Verify(x => x.Enqueue(It.IsAny<Expression<Action<FileUploadService>>>()), Times.Once);
以下是我遇到的错误
System.NotSupportedException:对扩展方法的无效验证: x => x。入队(It.IsAny >>()) 在 Moq.Mock.ThrowIfVerifyExpressionInvolvesUnsupportedMember(Expression 验证,MethodInfo方法)在C:\ projects \ moq4 \ src \ Moq \ Mock.cs:line中 780
如何验证方法是否被调用过