당신이 원하는 정보를
private class MockHttpContext : HttpContextBase {
private readonly MockRequest request;
public MockHttpContext(HttpCookieCollection cookies) {
this.request = new MockRequest(cookies);
}
public override HttpRequestBase Request {
get {
return request;
}
}
public class MockRequest : HttpRequestBase {
private readonly HttpCookieCollection cookies;
public MockRequest(HttpCookieCollection cookies) {
this.cookies = cookies;
}
public override HttpCookieCollection Cookies {
get {
return cookies;
}
}
}
}
을 캡슐화하고이
//Arrange
var cookies = new HttpCookieCollection();
cookies.Add(new HttpCookie("ASP.NET_SessionId"));
cookies.Add(new HttpCookie("__RequestVerificationToken"));
var context = new MockHttpContext(cookies);
var Request = context.Request;//This is just for demonstrative purposes
string[] myCookies = Request.Cookies.AllKeys;
처럼 사용할 가짜으로 HttpContext를 만들 수 있습니다 또는 당신은 조롱 프레임 워크와 같은 것을 할 수 있습니다.
예는이 예
var cookies = new HttpCookieCollection();
cookies.Add(new HttpCookie("ASP.NET_SessionId"));
cookies.Add(new HttpCookie("__RequestVerificationToken"));
var mockHttpContext = Substitute.For<HttpContextBase>();
mockHttpContext.Request.Cookies.Returns(cookies);
NSubstitute 사용
var cookies = new HttpCookieCollection();
cookies.Add(new HttpCookie("ASP.NET_SessionId"));
cookies.Add(new HttpCookie("__RequestVerificationToken"));
var mockHttpContext = new Mock<HttpContextBase>();
mockHttpContext.Setup(m => m.Request.Cookies).Returns(cookies);
MOQ
사용