2010-12-16 12 views
1

Ich folge den Scott hanselman's Bloggefälschte Httpcontext mit Moq Rahmen

aber hier bin ich immer HttpContext.Current als null. Irgendwann erinnere ich mich daran, dass ich Code geschrieben habe, um Httpcontext.current zu fälschen. aber leider habe ich den Code nicht bei mir.

Wie kann ich vortäuschen dies tun ???

Ich benutze Nunit.

+0

Versuchen Sie es mit NUnit oder Moq zu verspotten? – Paul

+0

Ich benutze Nunit, um den Testfall zu schreiben und muss den httpcontext mit dem Moq-Framework verhöhnen. – nimi

Antwort

2

Dies ist, wie Sie es mit Moq tun würde:

var url = "~/sample/url"; 

var mockHttpContext = new Mock<HttpContextBase>(); 
var mockRequest = new Mock<HttpRequestBase>(); 
mockHttpContext.Setup(x => x.Request).Returns(mockRequest.Object); 
mockRequest.Setup(x => x.AppRelativeCurrentExecutionFilePath).Returns(url);