¿Qué se necesita en el HttpContext para permitir que FormsAuthentication.SignOut () se ejecute?
Estoy tratando de escribir una prueba de unidad para nuestro método de cierre de sesión. Entre otras cosasFormsAuthentication.SignOut()
. Sin embargo, arroja unSystem.NullReferenceException
.
He creado un simulacro;HttpContext
(usando Moq), pero obviamente falta algo.
Mi contexto simulado contiene:
Un burladoHttpRequestBase
enRequest
Un burladoHttpResponseBase
enResponse
Con unHttpCookieCollection
enRequest.Cookies
y otro enResponse.Cookies
Un burladoIPrincipal
enUser
Soy consciente de que podría ir por la ruta del contenedor e inyectar un vacíoFormsAuth
Envuelva el objeto en su lugar, pero realmente me gustaría evitar los 3 archivos adicionales solo para corregir una línea de código. Eso y todavía tengo curiosidad por una respuesta.
Así que mi pregunta es "Lo que se necesita en elHttpContext
permitirFormsAuthentication.SignOut() to execute.
"