gpt4 book ai didi

c# - 使用 .Net Core 2 和 Moq,如何设置 HTTP 上下文来伪造身份验证?

转载 作者:行者123 更新时间:2023-11-30 13:35:32 26 4
gpt4 key购买 nike

我正在使用 Moq 在我的 .net core 2 应用程序中进行自动化测试。我们使用不记名身份验证并且需要能够从 HttpContext 对象中提取名称以确保我们拥有正确的用户:

var userName = HttpContext.User.Identity.Name;

我发现了大量使用 System.Web 的示例,但没有一个能让我模拟 Core 2 设置。

最佳答案

您可以实现相同的目的,而无需模拟任何东西并使用框架提供的现有类。

public class ContextHelper {
public static HttpContext GetHttpContext(string name = "validemail@test.com") {
var identity = new GenericIdentity(name, "test");
var contextUser = new ClaimsPrincipal(identity);
var httpContext = new DefaultHttpContext() {
User = contextUser
};
return httpContext;
}
}

仅仅因为我们有能力模拟某些事情并不意味着我们必须在大多数时候模拟。

关于c# - 使用 .Net Core 2 和 Moq,如何设置 HTTP 上下文来伪造身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51622657/

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