Simuler un utilisateur authentifié utilisant Moq dans des tests unitaires

Comment nous pouvons nous moquer de l’utilisateur authentifié en utilisant le framework Moq. Authentification de formulaire utilisée.

J’ai besoin d’écrire des tests unitaires pour l’action ci-dessous

public PartialViewResult MyGoals() { int userid = ((SocialGoalUser)(User.Identity)).UserId; var Goals = goalService.GetMyGoals(userid); return PartialView("_MyGoalsView", Goals); } 

Je dois me moquer de la valeur pour userid ici

    J’ai utilisé quelque chose comme ça, peut-être que ça vous aide:

     var controllerContext = new Mock(); var principal = new Moq.Mock(); principal.Setup(p => p.IsInRole("Administrator")).Returns(true); principal.SetupGet(x => x.Identity.Name).Returns(userName); controllerContext.SetupGet(x => x.HttpContext.User).Returns(principal.Object); controller.ControllerContext = controllerContext.Object;