我对单元测试非常非常新,我正在尝试为一个非常简单的方法编写测试:
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这个方法继承自RequireHttpsAttribute,检查页面是否存在某个标题,如果它丢失或为假,并且页面不安全,那么它将调用HandleNonHttpsRequest,否则它什么都不做.
我们正在使用Moq和Nunit进行测试.我找到了一些资源来帮助用Moq构建一个fakeHttpContext,但说实话,我不确定如何使用它或在我的单元测试中去哪里以确保假的HttpContexts是或不是导致该HandleNonHttpsRequest方法调用.
我真的很感激这个问题的任何指导.