开发者

Help create a unit test for test response header, specifically Cache-Control, in determining if caching has been disable or not

开发者 https://www.devze.com 2022-12-20 06:01 出处:网络
Scenario: I have a base controller which disables caching within the OnActionExecuting override. protected override void OnActionExecuting(ActionExecutingContext filterContext)

Scenario:

I have a base controller which disables caching within the OnActionExecuting override.

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
    filterContext.HttpContext.开发者_StackOverflow中文版Response.Cache.SetValidUntilExpires(false);
    filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
    filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache); //IE
    filterContext.HttpContext.Response.Cache.SetNoStore(); //FireFox 
}

How can I create a Unit Test to test this behavior?


Trying to do the same. The best I have so far is this...

    [TestCase]
    public void ResponseNotFromCache()
    {

            System.Net.WebRequest rq = System.Net.WebRequest.Create("testmethod");
            System.Net.HttpWebResponse rs = rq.GetResponse() as System.Net.HttpWebResponse;

            Assert.IsFalse(rs.IsFromCache);
    }

There must be a better way!

Update: How can I test an event of a MVC controller

0

精彩评论

暂无评论...
验证码 换一张
取 消