Я очень, очень новичок в модульном тестировании, и пытаюсь написать тест для довольно простого метода:
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);
}
}
}
Этот метод, который наследует от RequireHttpsAttribute
, проверяет, присутствует ли какой-либо заголовок на странице, если он отсутствует или false, а страница небезопасна, тогда он вызовет HandleNonHttpsRequest
, иначе ничего не сделает.
Мы используем Moq и Nunit для тестирования. Я нашел некоторые ресурсы, чтобы помочь создать fakeHttpContext с Moq, но, честно говоря, я не уверен, как его использовать или где идти в рамках моих модульных тестов, чтобы гарантировать, что поддельные HttpContexts или не вызовут метод HandleNonHttpsRequest
для вызова.
Я очень ценю любые рекомендации по этой проблеме.