我正在尝试为 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();
}
}
我写这个是为了成功。我也会为失败再写一篇。这是一种真正的方法吗?