Próbuję napisać test jednostkowy dla naszej metody wylogowania. Między innymi to FormsAuthentication.SignOut()
. Jednak rzuca System.NullReferenceException
.Co jest potrzebne w HttpContext, aby umożliwić FormsAuthentication.SignOut() do wykonania?
Stworzyłem próbę; HttpContext
(używając Moq), ale oczywiście czegoś brakuje.
Moje mock kontekst zawiera:
- szydzili
HttpRequestBase
naRequest
- szydzili
HttpResponseBase
naResponse
- Przy
HttpCookieCollection
naRequest.Cookies
i innym naResponse.Cookies
- szydzili
IPrincipal
naUser
Zdaję sobie sprawę, że mógłbym przejść do otoki i wstrzyknąć pusty obiekt owijający FormsAuth
w to miejsce, ale naprawdę chciałbym ominąć 3 dodatkowe pliki, aby naprawić jedną linię kodu. To i wciąż jestem ciekaw na odpowiedź
Więc moje pytanie jest „Co jest potrzebne w HttpContext
aby umożliwić FormsAuthentication.SignOut() to execute.
”
Doskonała, dokładnie odpowiedź, której szukałem. Pozdrawiam :) – jeef3
To nie jest odpowiedź ... Muszę wyśmiać FormsAuthentication i to mi nie pomoże. –
@Yaroslav Yakovlev - tylko dlatego, że coś ci nie pomoże, nie powinieneś go głosować. To oczywiście pomogło oryginalnemu plakatowi. – womp