tôi muốn thiết lập một giá trị trả vềLàm thế nào để xóa các kỳ vọng trước đó về một đối tượng?
_stubRepository.Stub(Contains(null)).IgnoreArguments().Return(true);
nhưng sau đó trong một thử nghiệm cụ thể, ghi đè lên kỳ vọng rằng để trả về false.
Cái gì như:
_stubRepository.ClearExpectations(); //<- this does not exist, I'm just making something up
_stubRepository.Stub(Contains(null)).IgnoreArguments().Return(false);
Thông báo, tôi không muốn sự mong đợi để trả về false vào cuộc gọi thứ hai, tôi muốn ghi đè lên sự mong đợi đầu tiên.
Điều này sẽ giúp đơn giản hóa kịch bản thử nghiệm của tôi rất nhiều.
Trong nội bộ Rhino Mock nói, sử dụng Lặp lại. Bất kỳ tạo ra một kỳ vọng lặp lại, mà trump mong đợi bình thường trong quá trình phát lại. Tuy nhiên, tôi khuyên bạn nên sử dụng BackToRecord. –
Ah, đã tìm ra tất cả ngoại trừ cuộc gọi Replay(). –
Đây là một điều chỉ thực sự được biết đến bởi những người sử dụng RhinoMocks từ 3.4 trở lên. RhinoMocks làm việc với Record-Replay, điều này có nghĩa là một mô hình phải được đặt vào chế độ phát lại một cách rõ ràng. Với 3,5, may mắn thay điều này đã biến mất, mocks luôn ở chế độ phát lại (ít nhất là cho mã tùy chỉnh). Cho đến khi bạn đưa nó trở lại chế độ kỷ lục - ngoại trừ việc thanh toán bù trừ, tôi không thấy lý do gì để làm điều đó. Tôi đã muốn viết một bản vá cho hai dòng này để đặt lại kỳ vọng một cách thoải mái. –