background image

  {
          

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 所

示。