Maison > développement back-end > C++ > Comment se moquer de HttpContext dans ASP.NET MVC à l'aide de Moq ?

Comment se moquer de HttpContext dans ASP.NET MVC à l'aide de Moq ?

Linda Hamilton
Libérer: 2025-01-11 20:31:44
original
130 Les gens l'ont consulté

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

Utilisez Moq pour simuler HttpContext dans ASP.NET MVC

Lorsque vous essayez de simuler HttpContext lors d'un test, vous pouvez rencontrer une erreur indiquant que la propriété HttpContext est en lecture seule. Cet article fournira une solution à ce problème et expliquera comment utiliser Moq pour se moquer du HttpContext et de ses dépendances.

Surmonter les problèmes de lecture seule

Dans la classe HomeController, la propriété HttpContext est bien en lecture seule. Cependant, il est possible de définir la propriété ControllerContext, qui contient HttpContext comme sous-propriété.

<code>controller.ControllerContext = new ControllerContext( context.Object, new RouteData(), controller );</code>
Copier après la connexion

Exemple

Le code suivant montre comment définir un HttpContext simulé à l'aide de Moq :

<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>
Copier après la connexion

Plus de ressources

Pour plus de détails sur la simulation de RequestContext et HttpContext, veuillez consulter les ressources suivantes :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal