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;