Unit testing ASP.NET MVC redirection

前端 未结 4 1933
南笙
南笙 2021-02-05 09:50

How do I Unit Test a MVC redirection?

public ActionResult Create(Product product)
{
    _productTask.Save(product);
    return RedirectToAction(\"Success\");   
         


        
4条回答
  •  Happy的楠姐
    2021-02-05 10:48

    This works for ASP.NET MVC 5 using NUnit:

        [Test]
        public void ShouldRedirectToSuccessAction()
        {
            var controller = new RedirectController();
            var result = controller.Index() as RedirectToRouteResult;
    
            Assert.That(result.RouteValues["action"], Is.EqualTo("success"));
        }
    

    If you want to test that you are redirecting to a different controller (say NewController), the assertion would be:

    Assert.That(result.RouteValues["controller"], Is.EqualTo("New"));
    

提交回复
热议问题