2012-01-20 5 views
1

MVC 3 면도기 웹 프로젝트가 있으며 여기서 뷰에 대한 사용자 정의 기본 클래스를 지정합니다. 이 기본 뷰 클래스의 InitializePage 메소드에서 초기화를 수행하고 객체를 ViewBag에 저장합니다. 이 정보는 레이아웃 페이지의 일종의 "모델"역할을합니다. 레이아웃 페이지에서 렌더링되는 구조화 된 상황에 맞는 메뉴 중 하나입니다. 이 메뉴의 항목은 사이트에 로그인 한 사용자에 따라 변경 될 수 있습니다.사용자 정의 기본 클래스가있는 뷰에 대한 단위 테스트 작성

제 질문은 기본 뷰 클래스에서 실행되는이 코드를 단위 테스트 할 수있는 방법입니다. 이 코드는 뷰가 렌더링 될 때만 실행되기 때문에 뷰를 실행할 컨트롤러 컨텍스트를 조롱하는 것 외에 다른 선택이 있습니까? 나는 인터넷에서 샘플을 보았다. 그리고 그것이 가치가있는 것보다 더 문제가있는 것 같다.

어떤 생각이 도움이 될 것입니다. 감사!

+4

일부 소스 코드로 질문을 꾸밀 수 있다면 좋을 것입니다. 예를 들어 단위 테스트를 시도하는 관련 소스 코드가 환상적 일 것입니다. –

답변

0

나에게 명백한 해결책은 그 코드 (또는 적어도 대량)를 다른 클래스의 메소드로 추출하는 것입니다. 그런 다음 View 클래스는 해당 값을 해당 메서드에 전달하여 InitializePage 메서드를 충분히 단순하게 만들어 단위 테스트가 필요하지 않게합니다. View 클래스와 독립적으로 메소드를 단위 테스트 할 수 있습니다.

관련 문제