3

シナリオ:

OnActionExecuting オーバーライド内でキャッシュを無効にするベース コントローラーがあります。

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 
}

この動作をテストする単体テストを作成するにはどうすればよいですか?

4

1 に答える 1

0

同じことをしようとしています。私が今まで持っている最高のものはこれです...

    [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);
    }

もっと良い方法があるはずです!

更新: MVC コントローラーのイベントをテストするにはどうすればよいですか

于 2010-02-28T02:42:34.433 に答える