입력 매개 변수로 httpcontext를 사용하는 메소드의 단위 테스트를 만들기 위해 Moq를 사용하려면 hanselman tutorial을 사용하고 있습니다.moq을 사용하여 httpcontext.request 채우기
public static class MvcMockHelpers
{
public static HttpContextBase FakeHttpContext()
{
var context = new Mock<HttpContextBase>();
var request = new Mock<HttpRequestBase>();
var response = new Mock<HttpResponseBase>();
var session = new Mock<HttpSessionStateBase>();
var server = new Mock<HttpServerUtilityBase>();
context.Setup(ctx => ctx.Request).Returns(request.Object);
context.Setup(ctx => ctx.Response).Returns(response.Object);
context.Setup(ctx => ctx.Session).Returns(session.Object);
context.Setup(ctx => ctx.Server).Returns(server.Object);
return context.Object;
}
public static HttpContextBase FakeHttpContext(string url)
{
var context = FakeHttpContext();
context.Request.SetupRequestUrl(url); <---- error here
return context;
}
}
나는 context.Request.SetupRequestUrl (URL)에 다음과 같은 오류를 얻고있다;
오류 1 'System.Web.HttpRequestBase' 'SetupRequestUrl'과 유형의 'System.Web.HttpRequestBase'첫 번째 인수를 받아들이는없는 확장 메서드 'SetupRequestUrl'에 대한 정의를 포함하지 않는이 볼 수 있습니다 (당신입니다 using 지시문 또는 어셈블리 참조가 누락 되었습니까?)
도움을 받으십시오.
httpcontext 요청 개체를 설정하고 컨텍스트 입력 매개 변수를 사용하여 메서드에 전달하고 단위 테스트를 만들 수있는 매우 간단한 쉬운 튜토리얼을 찾으려고하지만 Google의 모든 예제가 작동하지 않거나 복잡합니다. . 도와주세요.
대런, 어디 보여? 나는 그것을 찾고있다. –
인터넷 검색은 무엇입니까? Haacked는 그의 블로그 게시물에이 방법을 보여주었습니다. 그의 기사 안에서 그것을 찾으려면'SetupRequestUrl'을위한 Ctrl + F 만하십시오. –
대린, 지금까지 너무 좋아 .. 감사합니다. –