Asp.net mvc 断言操作重定向到正确的操作/路由?

Asp.net mvc 断言操作重定向到正确的操作/路由?,asp.net-mvc,unit-testing,Asp.net Mvc,Unit Testing,如何执行操作以确保其重定向到正确的操作或路由?在MVC3中,使用result.RouteValues[“…”]。 public ActionResult Foo() { return RedirectToAction("Products", "Index"); } [Test] public void foo_redirects_to_products_index() { var controller = new BarController(); var result = c

如何执行操作以确保其重定向到正确的操作或路由?

在MVC3中,使用result.RouteValues[“…”]。
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"));

}