【发布时间】:2019-11-22 05:27:10
【问题描述】:
我正在尝试对直接与this.HttpContext.Authentication 交互以进行身份验证的 MVC 6 控制器进行单元测试。我没有使用身份框架,而是直接与 Cookie 身份验证中间件交互。
根据 MS 看到的一些示例,我一直在使用 DefaultHttpContext 进行测试。问题是 DefaultHttpContext 上的 AuthenticationManager 属性是只读的,所以我不确定如何模拟它。
如果我不模拟它,我会在调用时在测试中收到一条错误消息,指出“没有配置身份验证处理程序来处理方案:Cookies”:
HttpContext.Authentication.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, authProperties);
【问题讨论】:
-
这个问题有运气吗?我遇到了类似的问题并试图找到可能的解决方案。
标签: unit-testing authentication mocking asp.net-core asp.net-core-mvc