Estoy muy, muy nuevo a la unidad de pruebas y estoy tratando de escribir una prueba para un método bastante simple:¿Cómo realizo una prueba unitaria para probar un método que verifica los encabezados de solicitud?
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);
}
}
}
Este método, que hereda de la RequireHttpsAttribute
, comprueba si una determinada cabecera está presente desde una página , si falta o es falso, y la página no es segura, llamará al HandleNonHttpsRequest
, de lo contrario no hará nada.
Estamos utilizando Moq y Nunit para realizar pruebas. He encontrado algunos recursos para ayudar a construir un falso HttpContext con Moq, pero sinceramente no estoy seguro de cómo usarlo o dónde ir dentro de mis pruebas unitarias para asegurar que los falsos HttpContexts sean o no causen que el método HandleNonHttpsRequest
llame.
Realmente aprecio cualquier orientación con este problema.
+1 para señalando las secciones AAA de la prueba. – CodingWithSpike
¡Gracias! Esto me envió en la dirección correcta para obtener algunas pruebas exitosas. – Dredj