Jestem bardzo nowe do testów jednostkowych i staram się pisać test na całkiem prosty sposób:Jak wykonać test jednostkowy, aby przetestować metodę, która sprawdza nagłówki żądań?
public class myClass : RequireHttpsAttribute
{
public override void OnAuthorization(AuthoizationContext filterContext)
{
var request = filterContext.HttpContext.Request;
var header = Convert.ToBoolean(request.Headers["Special-Header-Name"]);
if (!(header || request.IsSecureConnection))
{
HandleNonHttpsRequest(filterContext);
}
}
}
Ta metoda, która dziedziczy z RequireHttpsAttribute
, sprawdza, czy dany nagłówek jest obecny ze strony , jeśli go brakuje lub jest ono fałszywe, a strona nie jest bezpieczna, wówczas zadzwoni pod numer HandleNonHttpsRequest
, w przeciwnym razie nie zrobi nic.
Do testowania używamy Moq i Nunit. Znalazłem kilka zasobów, aby pomóc w budowaniu fałszywego HttpContext z Moq, ale szczerze mówiąc nie jestem pewien, jak go używać lub gdzie przejść w moich testach jednostkowych, aby upewnić się, że fałszywe HttpContexts są lub nie powodują wywołania metody HandleNonHttpsRequest
.
Naprawdę doceniam wszelkie wskazówki dotyczące tego problemu.
+1 dla wskazując sekcje testu AAA. – CodingWithSpike
Dziękujemy! To wysłało mnie we właściwym kierunku, aby uzyskać pewne udane testy. – Dredj