{
public static void RegisterRoutes(RouteCollection routes)
{
: N" s. U- z% f) F5 B
routes.IgnoreRoute(
"{resource}.axd/{*pathInfo}");
* h9 G% ^, k- X+ e- V* c% J7
M, V
routes.MapRoute(
"Default", // Route name "{controller}/
{action}/{id}", // URL with parameters
$ K- z" v+ q. m
new { controller =
# @-
m7 i$ {# {1 P5 c& j0 O
"Home", action =
+ s6 V( E3 D( ^4 d1 E
"Index", id = UrlParameter.Optional } // Parameter defaults
* [1 i4 b J7 a5 s2 X1 V$ C( h
);
8 z6 g0 V) r( S
}
protected void Application_Start()
" l% I# r/ ]$ v/ l1 Q0 r+ B5 ?
{
AreaRegistration.RegisterAllAreas();
3 Y8 C, f0 L" w1 J
RegisterRoutes(RouteTable.Routes);
}
4 K# J( K9 w; \) a: w# Y
}
) G% ]% v& S: k& {: O
在上面的代码中,你可能已经注意到如何注册
URL 路由,以及如何指定默认值。
( k%
n, ^0 U; G' Z4 ?
3、支持测试驱动开发
由于
MVC 架构是松散的,构建单元测试用例变得很简单,它使测试驱动开发成为可
能,例如,如果你有一个正常的
.aspx.cs 页面,你想为它建立单元测试用例,复杂度很高,
因为:
· 你必须为你的页面代码隐藏类创建实例;
1 ^0 I5 n' F& B7 H( z
· 隐藏代码将指向 ASP.NET 控件;
3 q9 {$ d; w8 n# Z; s( v
· 为事件(如 GridView_RowDataBound)创建单元测试用例很困难。
/ R! O' a0 a+ @
在
MVC 模式下,文件背后没有任何代码,也没有 UI 元素引用,使任务变得非常容易,
你需要做的仅仅是指向控制器的
ActionMethod,点击右键选择“创建单元测试”,如图 3 所
示。