2012-01-20 17 views
31

Używam Moq w moim kodzie. Pisałem wyrażenia jak:Moq jak zastąpić przestarzałe wyrażenie

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

Gdzie InvoiceAttachmentId jest nieruchomość na mojej fakturze.

To działa dobrze, ale pojawia się ostrzeżenie:

Moq.MockExtensions.VerifySet (Moq.Mock, System.Linq.Expressions.Expression>, Moq.Times) 'jest przestarzały:' Zastąpiony przez VerifySet (Action, Times) "

Czy ktoś może mi powiedzieć, jak przepisać go, aby zadowolić kompilator i pozbyć się ostrzeżenia? Nie jestem pewien, jak zastąpić Action.

Odpowiedz

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

Należy zastąpić 123 oczekiwaną wartością.

Jeśli chcesz, aby umożliwić dowolną wartość, należy:

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

ja zapytałem [Podobne pytanie] (http://stackoverflow.com/q/32224168/542251) gdybyś obchodzi odpowiedź? – Liam

Powiązane problemy