在单元测试属性时如何断言OnActionExecuting

时间:2014-07-24 11:57:02

标签: c# unit-testing nunit rhino-mocks

我有一个ActionFilterAttribute。我想在OnActionExecuting()方法上进行单元测试。我能够使用RhinoMock模拟HttpContext,ActionParameters和其他必需的对象。

以下是它的样子

public class AuthorizeABCAttribute: ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var abc = filterContext.HttpContext.Request.Headers["X-GOD-MODE"];
        var ip = filterContext.HttpContext.Request.UserHostAddress;
        var email = filterContext.ActionParameters["EmailAddress"] as string;

        if (ISALLOWED(abc, ip, email))
            base.OnActionExecuting(filterContext);
        else
            filterContext.Result = new HttpStatusCodeResult(HttpStatusCode.NotFound);
    }
}

因此,根据条件允许访问,或者给出404。

所以在我的单元测试中,我如何断言这两种不同的情况?

0 个答案:

没有答案