我有单元测试代码:
var result = (RedirectToRouteResult)controller.Create();
Assert.AreEqual("AddUnits", result.RouteValues["action"]);
但是 result.RouteValues["action"] 给了我错误: 无法将 [] 索引应用于 System.Web.Routing.RouteValueDictionary 类型的表达式 我使用 ASP.NET MVC 4
我有单元测试代码:
var result = (RedirectToRouteResult)controller.Create();
Assert.AreEqual("AddUnits", result.RouteValues["action"]);
但是 result.RouteValues["action"] 给了我错误: 无法将 [] 索引应用于 System.Web.Routing.RouteValueDictionary 类型的表达式 我使用 ASP.NET MVC 4
虽然RedirectToRouteResult
是在System.Web.Mvc
程序集中定义的,但也是在程序集中RouteValueDictionary
定义的System.Web
(因为它ASP.Net Routing
是在 MVC 框架之前引入的机制的一部分)。
尝试System.Web
在您的测试项目中添加对的引用,看看是否有帮助。
添加对 System.Web.Routing 的引用
将 System.Web 的引用添加到您的测试项目中。对我来说有帮助。
您只需要在您的测试项目中添加“System.Web”和“System.Web.Routing”的引用即可。您可以通过右键单击测试项目中的引用来简单地添加它。