我正在学习ASP MVC,因此是TDD和MVC框架的新手。我在编写模拟TestMethod时会发现一个问题,用于在Controller中测试一个Action,其中包含“RedirectToAction”。
编写testMethod以确保重定向的Action正确无误。我读过它可以检查RedirectToRouteResult.RouteValues,并获得“action”键的值。即使在调试(观察属性),我也能够正确。但@编译时,测试显示异常Cannot apply Indexing with [] to an expression of type RedirectToRouteResult.RouteValues
。
以下是参考的代码段:
public void TestHomeControllerContactRedirectRoute()
{
HomeController controller = new HomeController();
ContactMessage message=new ContactMessage(){
Email="abc@xyz.com",
MessageBody="Some message here!!",
Name="Sun"
};
RedirectToRouteResult resultRoute = controller.Contact(message) as RedirectToRouteResult;
if (resultRoute != null)
{
Assert.AreEqual("Contact", resultRoute.RouteValues["action"]);
}
}