asp.net-mvc - 读取 RedirectToRouteResult 的 RouteValues 字典

标签 asp.net-mvc unit-testing asp.net-mvc-2

我正在学习 ASP MVC,因此对 TDD 和 MVC 框架还很陌生。我在编写模拟 TestMethod 来测试 Controller 内的操作时发现一个问题,即其主体中的“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="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0a6b68694a72737024696567" rel="noreferrer noopener nofollow">[email protected]</a>",
                MessageBody="Some message here!!",
                Name="Sun"
            };

            RedirectToRouteResult resultRoute = controller.Contact(message) as RedirectToRouteResult;

            if (resultRoute != null)
            {

                Assert.AreEqual("Contact", resultRoute.RouteValues["action"]);
            }
        }

最佳答案

可能缺少对 System.Web 的引用

来源:http://samritchie.net/2011/01/06/mvc-unit-testing-error/

关于asp.net-mvc - 读取 RedirectToRouteResult 的 RouteValues 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9390819/

相关文章:

c# - 添加 - 到 MVC3 Controller 名称

c# - 同一解决方案 Visual Studio 中每个项目的不同测试设置

asp.net-mvc - Html.EditorFor 不加载自定义模板路径

c# - Entity Framework 6 刚刚删除了我的数据库?

asp.net-mvc - 阻止用户在 ASP.NET MVC View 中输入脚本标记

c# - 如何为 404 页面设置 UTF8

c# - xunit 如何 N 到 N double 几乎相等

python - 我如何使用 HTTPResponseRedirect 对 django 消息进行单元测试?

asp.net-mvc-2 - 页面加载时显示验证消息

c# - ASP.MVC2 中选择要在 Controller 中显示的图像的最佳方法是什么