45

I'm using Moq in my code. I wrote an expression like:

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

Where InvoiceAttachmentId is a property on my Invoice.

It works fine but I get the warning:

Moq.MockExtensions.VerifySet(Moq.Mock, System.Linq.Expressions.Expression>, Moq.Times)' is obsolete: 'Replaced by VerifySet(Action, Times)'

Can anyone tell me how to rewrite it to satisfy the compiler and get rid of the warning? I'm unsure how to make the replacement to Action.

1 Answer 1

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

Replace 123 with the expected value.

If you want to permit any value, use:

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.