Tôi đang sử dụng MOQ để thực hiện cuộc gọi phương thức với danh sách trả về dự kiến. Phương thức của tôi trả về một danh sách nhưng tôi muốn giả lập danh sách mới mỗi khi phương thức được gọi. Những gì tôi đã làm như vậy cho đến nay:Làm thế nào để Mock trả về danh sách mới mỗi khi phương thức được gọi bằng cách sử dụng Moq
List<Correlation> expected = new List<Correlation> { new Correlation() { Code = "SelfError1" }, new Correlation() { Code = "SelfError2" } };
Mock<IRPLValidator> selfMock = new Mock<IRPLValidator>();
selfMock.Setup(f => f.Validate()).Returns(expected);
Những gì tôi đang cố gắng để đạt được là làm cho sự trở lại mô hình một danh sách mới mỗi khi method get được gọi là. Tôi đã thử điều này, nhưng đã không làm việc:
selfMock.Setup(f => f.Validate()).Returns(new List<Correlation>{ new Correlation() { Code = "SelfError1" }, new Correlation() { Code = "SelfError2" } });
Vì đây không làm việc, tôi nghĩ có lẽ gọi lại là câu trả lời cho câu hỏi của tôi, nhưng tôi đã không tìm thấy bất kỳ ví dụ thích hợp cho reinitializing danh sách của tôi . Bất kỳ đề xuất nào? Khi bạn có thể tự hỏi tại sao tôi cần danh sách mới mỗi lần, vấn đề là tôi đang gọi phương thức trên các loại đối tượng khác nhau thực hiện một số thay đổi trong danh sách, tùy thuộc vào loại đối tượng. Bởi vì các mô hình cho tôi cùng một danh sách mỗi khi phương pháp được gọi, tôi luôn luôn sửa đổi cùng một đối tượng trong bộ nhớ vì vậy tôi không thể theo dõi những thay đổi tôi đang thực hiện trên đó.
Cảm ơn trước!
Làm việc như một sự quyến rũ! Rất rất cảm ơn. Điều đó thật dễ dàng. –
Cảm ơn bạn - một ngày nào đó tôi sẽ nhận được toàn bộ thứ đóng cửa này. – David
Ước gì tôi đã tìm thấy điều này trước đó, lãng phí một ngày hôm qua tự hỏi tại sao danh sách của tôi không được cập nhật! Cảm ơn!!! – PmanAce