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();

    }
}

我写这个是为了成功。我也会为失败再写一篇。这是一种真正的方法吗?

4

0 回答 0