2012-01-20 16 views
31

Sto usando Moq nel mio codice. Ho scritto un'espressione del tipo:Moq come sostituire l'espressione obsoleta

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

Dove InvoiceAttachmentId è una struttura sulla mia fattura.

Funziona benissimo, ma ottengo l'avvertimento:

Moq.MockExtensions.VerifySet (Moq.Mock, System.Linq.Expressions.Expression>, Moq.Times) 'è obsoleta:' Sostituito di VerifySet (Action, Times) '

Qualcuno può dirmi come riscriverlo per soddisfare il compilatore e sbarazzarsi dell'avvertimento? Non sono sicuro di come sostituire l'azione.

risposta

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

Sostituire 123 con il valore previsto.

Se si desidera consentire qualsiasi valore, utilizzare:

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

ho chiesto una [domanda relativa] (http://stackoverflow.com/q/32224168/542251) se ci si cura di risposta? – Liam