gpt4 book ai didi

c# - 在单元测试中使用最小起订量模拟经过身份验证的用户

转载 作者:太空狗 更新时间:2023-10-29 17:35:04 24 4
gpt4 key购买 nike

我们如何使用 Moq 框架模拟经过身份验证的用户。使用表单例份验证。

我需要为下面的操作编写单元测试

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

我需要在这里模拟 userid 的值

最佳答案

我用过类似的东西,也许对你有帮助:

var controllerContext = new Mock<ControllerContext>();
var principal = new Moq.Mock<IPrincipal>();
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;

关于c# - 在单元测试中使用最小起订量模拟经过身份验证的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13579519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com