Đề cập đến câu hỏi này:Moq VerifySet (Action) thay thế biểu lỗi thời biên soạn lỗi
Moq how to replace obsolete expression
Tôi đã điều sau đây:
[Test]
public void OnSearchRequest_ViewFiresEvent_EventIsHandled()
{
// Arrange
Mock<IViewUsers> view = new Mock<IViewUsers>();
Users users = new Users(view.Object);
// Act
view.Raise(v => v.SearchForUsers += null, this, new SearchEventArgs());
// Assert
view.VerifySet(v=> v.SearchResult = It.IsAny<List<IUser>>());
}
ban đầu tôi đã:
// Assert
view.VerifySet(v => v.SearchResult);
Nhưng đã nhận được cảnh báo:
'Moq.MockExtensions.VerifySet (Moq.Mock, System.Linq.Expressions.Expression>)' là lỗi thời: 'thay thế bởi VerifySet (Action)'
Vì vậy, tôi tìm thấy các câu hỏi tham chiếu ở trên, và thay đổi nó cho phù hợp, nhưng bây giờ tôi vẫn nhận được cảnh báo rằng, và trên hết, một lỗi khó vào "v.SearchResult" trong cuộc gọi đến VerifySet:
một cây biểu hiện có thể không chứa toán tử gán.
Tôi không thể thấy rằng tôi đang định dạng không chính xác - vậy tại sao không nhận ra đây là hành động như câu hỏi khác ngụ ý?
Bạn đang sử dụng phiên bản Moq nào? Bởi vì tôi đã tạo ra một repro nhỏ với 4.0.10827.0 và nó là màu xanh lá cây và biên dịch mà không có cảnh báo lỗi thời ... Bạn nên cung cấp thêm ngữ cảnh như thế nào các lớp học trong thử nghiệm của bạn trông như thế nào. – nemesv
moq 4.0.10827.0 –
Bạn muốn thêm ngữ cảnh nào? –