2012-04-20 5 views
0

the example을 올바르게 이해하면 MvcContrib TestHelper는 특정 컨트롤러에 대한 경로 매핑에 대한 강력한 형식 테스트를 수행합니다. 아래쪽은 다시 한 번 그 예를 이해한다면 테스트되는 경로는 global.asax 파일에서 가져온 것이 아닙니다. 대신 테스트 설정에서 왔습니다.강력한 형식의 경로 검사

대조적으로 "Pro ASP.NET MVC3 Framework"책은 global.asax 파일의 경로를 실제로 활용하는 경로 테스트 도우미를 공유합니다.

[TestMethod] //sample from the book... 
    public void TestIncomingRoutes() {      
     // check for the URL that we hope to receive      
     TestRouteMatch("~/Admin/Index", "Admin", "Index"); 
    } 

나는 두 세계의 최고를하고 싶습니다 :이 헬퍼는, 그러나, 특정 컨트롤러에 강한 입력 된 (또는 느슨한 유형화)되지 않습니다. 누구든지 (1) 명시 적으로 특정 컨트롤러를 식별하고, (2) 테스트를 위해 global.asax의 경로를 사용하며, (3) Rhino Mocks와 결혼하지 않은 헬퍼 코드에 대한 링크가 있습니다. MOQ를 선호합니다.

감사합니다.

답변

0

HttpApplication 하위 클래스 (global.asax.cs 코드)를 테스트하여 경로를 등록하기위한 코드를 호출하는지 확인하는 것처럼 보입니다. 당신이 그렇게하지 않으면 아무 일도 일어나지 않는다는 것이 꽤 분명해지기 때문에 그것이 정말로 필요한 것인지 확신 할 수 없습니다. OTOH, MvcContrib는 당신이 당신이주의 깊게 SEO 친절하기 위하여 당신의 URL를주의 깊게 디자인 한 경우에 많은 가치가있는 무언가에 실제로지도로 나타내는 당신이 원하는 URL를 시험하는 것을 허용하고있다. IMO 테스트의 가치가 있습니다.

관련 문제