Moq如何替换过时的表达方式

时间:2012-01-20 02:00:46

标签: linq moq

我在代码中使用Moq。我写了一个表达式:

mockInvoice.VerifySet(x => x.InvoiceAttachmentId, Times.Once());

InvoiceAttachmentId是我的发票上的属性。

它工作正常,但我收到警告:

  

Moq.MockExtensions.VerifySet(Moq.Mock,   System.Linq.Expressions.Expression>中   Moq.Times)'已过时:'由VerifySet替换(Action,Times)'

有谁能告诉我如何重写它以满足编译器并摆脱警告?我不确定如何替换Action。

1 个答案:

答案 0 :(得分:42)

mockInvoice.VerifySet(x => x.InvoiceAttachmentId = 123, Times.Once());

将123替换为预期值。

如果您想允许任何值,请使用:

mockInvoice.VerifySet(x => x.InvoiceAttachmentId = It.IsAny<int>(),
    Times.Once());