2

actionfilter の単体テストを作成しようとしています。私はいくつかのコードを書きましたが、それが本当かどうかわかりませんでした。私のアクション結果コードは以下の通りです:

 public override void OnActionExecuting(ActionExecutingContext filterContext)
 {
   if (!HttpContext.Current.User.Identity.IsAuthenticated)
   {
      HttpContext.Current.Response.Redirect("/kullanicigiris");
   }
 }

一部のコントローラーにこのアクション結果トップを追加します。

[AuthenticationFilter]
public class HomeController : Controller

私は次のようなテストコードを書きました:

 [TestMethod]
    public void TestActionFilter()
    {
        const string expectedViewName = "Create";
        const string username = "deneme";
     //   MockRepository mock=new MockRepository();
        AccountController v=new AccountController();
        var context = new Mock<HttpContextBase>();
       var request = new Mock<HttpRequestBase>();
        context.SetupGet(p => p.User.Identity.Name).Returns(username);
        context.SetupGet(p => p.Request.IsAuthenticated).Returns(false);

        context.VerifyAll();

    }
}

私は成功のためにこれを書きました。また、失敗したためにもう1つ書きます。それは本当のアプローチですか?

4

0 に答える 0