断言动作是否重定向到正确的动作/路线?

时间:2020-03-05 18:44:23  来源:igfitidea点击:

如何执行动作以确保其重定向到正确的动作或者路线?

解决方案

回答

public ActionResult Foo()
{
   return RedirectToAction("Products", "Index");
}

[Test]
public void foo_redirects_to_products_index()
{
   var controller = new BarController();
   var result = controller.Foo() as RedirectToRouteResult;

   if(result == null)
      Assert.Fail("should have redirected");

   Assert.That(result.RouteData.Values["Controller"], Is.EqualTo("Products"));
   Assert.That(result.RouteData.Values["Action"], Is.EqualTo("Index"));

}