Tôi cần giả lập HttpResponseBase.ApplyAppPathModifier
theo cách mà tham số ApplyAppPathModifier
được gọi với tự động được trả lại bởi mô hình.Có thể vượt qua các giá trị tham số trong Moq không?
Tôi có đoạn mã sau:
var httpResponseBase = new Mock<HttpResponseBase>();
httpResponseBase.Setup(hrb => hrb.ApplyAppPathModifier(/*capture this param*/))
.Returns(/*return it here*/);
Bất kỳ ý tưởng?
EDIT:
Tìm thấy một giải pháp trên trang đầu tiên của tài liệu Moq (http://code.google.com/p/moq/wiki/QuickStart):
var httpResponseBase = new Mock<HttpResponseBase>();
httpResponseBase.Setup(hrb => hrb.ApplyAppPathModifier(It.IsAny<string>)
.Returns((string value) => value);
Tôi đột nhiên cảm thấy rất nhiều ngu ngốc, nhưng tôi đoán đây là những gì sẽ xảy ra khi bạn viết mã tại 23:30
Tôi đã có một nhu cầu để ném một trôi qua trong ' Đối số ngoại lệ. Tôi đã sử dụng phương thức 'Callback()' (thay vì 'Returns()') để ném nó. Chỉ vì hậu thế và đầy đủ. – gregsdennis
@gregsdennis Tuyệt vời! Cảm ơn vì đăng. Không nhận thấy 'Callback()' trước đây - có lẽ nó đã được giới thiệu gần đây hơn. –