2012-10-15 3 views
0

Moles 프레임 워크를 사용하면 모든 함수 호출을 조롱 할 수 있습니다. 이것은 여기에서 aquote이다 http://msdn.microsoft.com/en-us/library/ff798308.aspx두더지 골격 : 어떻게 훈련할까요?

를 실행하는 방법을 입력하면, 예컨대 DateTime.Now 속성 게터로서, 몰 틀 체크 테스트 클래스 그 방법을위한 우회로를 정의되어 있는지 여부를 참조한다. 우회가 정의 된 경우 프레임 워크는 호출을 우회 대리인으로 리디렉션합니다. 우회 도로가 이 정의되지 않은 경우, 호출은 메소드의 실제 구현으로 연결됩니다.

내 질문 : 테스트 클래스에서 우회 경로를 어떻게 정의합니까?

FYI : This 질문 주소 Moles가 내부적으로 구현되는 방식.

답변

1

우회하려는 메서드가있는 어셈블리의 몰드 어셈블리를 만들어야합니다. 이 작업을 수행하는 다양한 방법이 있습니다. 가장 쉬운 방법은 테스트 프로젝트 내부에서 "두더지"하려는 어셈블리에 대한 참조를 마우스 오른쪽 버튼으로 클릭하고 "몰드 어셈블리 만들기"옵션을 클릭하는 것입니다. 이것이 작동하지 않으면 모든 것에 대한 명령 행 옵션이 있습니다. 이 무덤 어셈블리에는 클래스에 대한 우회 경로를 정의 할 수있는 클래스가 있습니다. 예를 들어 일반적인 정적 데이터 액세스 계층이 있다고 가정 해보십시오. 다음과 같이 보일 것이다 우회 정의 :

MEmployeeDAL.GetEmployeeGuid = (id) => return new MockEmployee(); 

체크 아웃 자세한 내용은이 블로그 게시물 : http://blogs.msdn.com/b/kristol/archive/2010/03/07/unit-testing-with-microsoft-moles.aspx

+0

감사합니다! 이 질문에 대한 답변입니다. – TheSilverBullet