Heim > Backend-Entwicklung > C++ > Wie verspotte ich HttpContext in ASP.NET MVC mit Moq?

Wie verspotte ich HttpContext in ASP.NET MVC mit Moq?

Linda Hamilton
Freigeben: 2025-01-11 20:31:44
Original
127 Leute haben es durchsucht

How to Mock HttpContext in ASP.NET MVC Using Moq?

Verwenden Sie Moq, um HttpContext in ASP.NET MVC zu simulieren

Wenn Sie beim Testen versuchen, HttpContext zu simulieren, kann es zu einer Fehlermeldung kommen, die darauf hinweist, dass die HttpContext-Eigenschaft schreibgeschützt ist. Dieser Artikel bietet eine Lösung für dieses Problem und erklärt, wie man Moq verwendet, um den HttpContext und seine Abhängigkeiten zu verspotten.

Überwindung von Nur-Lese-Problemen

In der HomeController-Klasse ist die HttpContext-Eigenschaft tatsächlich schreibgeschützt. Es ist jedoch möglich, die ControllerContext-Eigenschaft festzulegen, die HttpContext als Untereigenschaft enthält.

<code>controller.ControllerContext = new ControllerContext( context.Object, new RouteData(), controller );</code>
Nach dem Login kopieren

Beispiel

Der folgende Code zeigt, wie ein simulierter HttpContext mithilfe von Moq festgelegt wird:

<code>[TestMethod]
public void Home_Message_Display_Unknown_User_when_coockie_does_not_exist()
{
    var context = new Mock<httpcontextbase>();
    var request = new Mock<httprequestbase>();
    context
        .Setup(c => c.Request)
        .Returns(request.Object);
    HomeController controller = new HomeController();

    controller.ControllerContext = new ControllerContext( context.Object, new RouteData(), controller );

    ...
}</httprequestbase></httpcontextbase></code>
Nach dem Login kopieren

Weitere Ressourcen

Weitere Informationen zum Verspotten von RequestContext und HttpContext finden Sie in den folgenden Ressourcen:

Das obige ist der detaillierte Inhalt vonWie verspotte ich HttpContext in ASP.NET MVC mit Moq?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage