【问题标题】:ASP.NET MVC Default route and error handlingASP.NET MVC 默认路由和错误处理
【发布时间】:2012-07-18 15:45:39
【问题描述】:

在我的应用程序中定义的一堆特定路由中,我使用默认路由来映射所有剩余的无参数路由:

routes.MapRoute("Default", "{controller}/{action}", new { controller = "calendar", action = "list" });

这样,我获得了例如以下路由:

  • ~/customer/add -> 控制器 = 客户,操作 = 添加
  • ~/customer -> 控制器 = 客户,操作 = 列表
  • ~/ -> 控制器 = 日历,操作 = 列表

整个路由部分都经过单元测试(使用Phil Haack's method),因此我检查“~/customer” URL 是否确实会拆分为 controller = “customer” 和 action = “list”。

问题是,如果我删除一个控制器或一个动作,测试将保持绿色,因为路由仍然成功地被默认路由映射。

不知何故,如果目标控制器或操作无效,我希望我的测试失败。有没有办法在 UnitTest 级别做到这一点?

谢谢!

【问题讨论】:

    标签: asp.net-mvc unit-testing routes


    【解决方案1】:

    你可以通过使用 MvcContrib 来实现这一点

    请在此处查看路由测试示例http://mvccontrib.codeplex.com/wikipage?title=TestHelper#Examples

    【讨论】:

    • 确实像一个魅力。谢谢!
    • @TimBourguignon 很高兴为您提供帮助
    猜你喜欢
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    • 2011-04-29
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多