tôi có đoạn mã sau, mà thất bại trong thời gian chạy ...Làm thế nào tôi có thể giả lập giá trị ASP.NET ServerVariables ["HTTP_HOST"]?
var mock = new Mock<ControllerContext>();
mock.SetupGet(x => x.HttpContext.Request
.ServerVariables["HTTP_HOST"]).Returns(domain);
** RunTime Error: Invalid setup on non-overridable property
tôi đã có một số mã trong bộ điều khiển của tôi, mà cần phải kiểm tra các tên miền dùng đã yêu cầu/đi.
Tôi không chắc chắn làm thế nào để giả lập nó? bất kỳ ý tưởng?
PS. Tôi đang sử dụng Moq framewoke trong ví dụ trên .. vì vậy tôi không chắc chắn nếu đó là một vấn đề, vv?
HA! Tất nhiên!! <3 .. Ngoài ra, bạn đã sử dụng 'context.Setup'. Tôi đã sử dụng 'context.SetupGet' ... bất kỳ lý do tại sao bạn sử dụng nó? (Tôi thực sự thực sự mới để Moq ...) –
Có lẽ có một số loại khác biệt, nhưng tôi cũng không phải là một chuyên gia về những phức tạp vì vậy tôi chỉ cần sử dụng Setup() trên bảng cho sự nhất quán :) Bài viết này có vẻ để giải thích sự khác biệt một chút, mặc dù tôi cũng sẵn sàng nghe từ một chuyên gia về vấn đề này: http://stackoverflow.com/questions/1073846/need-help-understand-moq-better – Eric