2012-01-20 18 views
31

Tôi đang sử dụng Moq trong mã của mình. Tôi đã viết một biểu thức như:Moq cách thay thế biểu thức lỗi thời

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

Trường hợp InvoiceAttachmentId là một tài sản trên hóa đơn của tôi.

Nó hoạt động tốt nhưng tôi nhận được cảnh báo:

Moq.MockExtensions.VerifySet (Moq.Mock, System.Linq.Expressions.Expression>, Moq.Times) là lỗi thời: 'thay thế by VerifySet (Hành động, Thời gian) '

Bất cứ ai có thể cho tôi biết cách viết lại để thỏa mãn trình biên dịch và thoát khỏi cảnh báo? Tôi không chắc chắn cách thay thế Hành động.

Trả lời

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

Thay thế 123 bằng giá trị mong muốn.

Nếu bạn muốn cho phép bất kỳ giá trị, sử dụng:

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

Tôi đã hỏi một [câu hỏi liên quan] (http://stackoverflow.com/q/32224168/542251) nếu bạn muốn quan tâm đến câu trả lời? – Liam

Các vấn đề liên quan