Вы столкнулись с этой проблемой, потому что у вас есть дважды id="first"
. Исправьте это, и он должен работать.
[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");
}
}
Можно утверждать на ActionResult, который возвращается, необходимо будет бросить его к соответствующему типу, но он действительно позволяет Вам использовать основанное на состоянии тестирование. Поиск в сети должен найти некоторые полезные ссылки, вот всего один все же.
вы можете использовать Mvc.Contrib.TestHelper, который предоставляет утверждения для тестирования перенаправлений. Взгляните на http://kbochevski.blogspot.com/2010/06/unit-testing-mvcnet.html и пример кода. Это может быть полезно.