Asp.net mvc 帮助为测试响应头(特别是缓存控制)创建单元测试,以确定是否禁用了缓存
情景: 我有一个基本控制器,它在OnActionExecuting覆盖中禁用缓存Asp.net mvc 帮助为测试响应头(特别是缓存控制)创建单元测试,以确定是否禁用了缓存,asp.net-mvc,unit-testing,model-view-controller,caching,cache-control,Asp.net Mvc,Unit Testing,Model View Controller,Caching,Cache Control,情景: 我有一个基本控制器,它在OnActionExecuting覆盖中禁用缓存 protected override void OnActionExecuting(ActionExecutingContext filterContext) { filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); filterContext.HttpContext.Response.Ca
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
filterContext.HttpContext.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
}
如何创建一个单元测试来测试此行为?正在尝试同样的操作。到目前为止,我最好的就是这个
[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);
}
一定有更好的办法
更新: