0

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

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

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

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

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

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

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

谢谢!

4

1 回答 1

1

您可以通过使用 MvcContrib 来实现

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

于 2012-07-18T17:25:05.113 回答