如何单元测试MVC重定向?
public ActionResult Create(Product product) { _productTask.Save(product); return RedirectToAction("Success"); } public ActionResult Success() { return View(); }
public static void RenderView(this Controller self,string action) { typeof(Controller).getmethod("RenderView").Invoke(self,new object[] { action} ); }
似乎很奇怪,要做到这一点,特别是当MVC团队表示他们正在写框架是可测试的。
解决方法
[TestFixture] public class RedirectTester { [Test] public void Should_redirect_to_success_action() { var controller = new RedirectController(); var result = controller.Index() as RedirectToRouteResult; Assert.That(result,Is.Not.Null); Assert.That(result.Values["action"],Is.EqualTo("success")); } } public class RedirectController : Controller { public ActionResult Index() { return RedirectToAction("success"); } }
原文地址:https://www.jb51.cc/aspnet/252305.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。