【发布时间】:2012-03-05 00:40:39
【问题描述】:
我对单元测试非常非常陌生,正在尝试为一个非常简单的方法编写测试:
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,检查页面中是否存在某个标题,如果缺少或错误,并且页面不安全,则它将调用HandleNonHttpsRequest,否则它什么也不做.
我们正在使用 Moq 和 Nunit 进行测试。我找到了一些资源来帮助使用 Moq 构建 fakeHttpContext,但老实说,我不确定如何使用它或在我的单元测试中去哪里以确保伪造的 HttpContext 是否导致 HandleNonHttpsRequest 方法调用。
非常感谢有关此问题的任何指导。
【问题讨论】:
标签: c# asp.net-mvc unit-testing nunit moq