2012-11-08 29 views
9

Tôi đang sử dụng phương pháp Setup() để thiết lập hành vi của một phiên bản giả của giao diện.moq: Khi sử dụng Setup(), sự bình đẳng của các thông số phương pháp được xác định như thế nào?

Phương pháp tôi đang thiết lập (hãy gọi nó là DoSomething()) chấp nhận một phiên bản của một lớp (hãy gọi lớp Foo).

Foo foo = // Existing foo instance 
Mock<IMyInterface> mock = new Mock<IMyInterface>(); 
mock.Setup(x => x.DoSomething(foo)).Returns(1); 

Vấn đề tôi đang gặp là khi tôi sử dụng mô hình, nó không bao giờ phù hợp với thiết lập, vì vậy không bao giờ trả về 1.

thể bất cứ ai giúp đỡ? Làm thế nào để Moq xác định xem các tham số được cung cấp cho một phương thức thiết lập có bằng nhau hay không?

Trả lời

7

Câu trả lời cho câu hỏi của tôi là Moq sử dụng .Equals để xác định xem thông số để thiết lập phương pháp có bằng nhau hay không.

+0

R # là một trợ giúp tuyệt vời ở đây, vì nó có thể tự động tạo ra phương thức Equals cho lớp học của bạn. –

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