제네릭 테스트 문제 해결
업데이트: 2007년 11월
제네릭 테스트를 실행하면 "64비트 플랫폼에서 제네릭 테스트를 실행할 때 코드 검사 데이터 수집 기능이 작동하지 않습니다."라는 내용의 오류가 발생할 수 있습니다. 이 오류를 해결하려면 다음에 나오는 32비트 제한 우회 단원의 정보를 참조하십시오.
32비트 제한 우회
코드 검사 계측은 64비트 모드가 아닌 32비트 모드에서만 작동합니다. 이는 코드 검사용으로 계측된 어셈블리를 32비트 모드로만 로드할 수 있기 때문입니다.
참고: |
---|
코드 검사 데이터를 수집하지 않는 경우 64비트 컴퓨터에서 단위 테스트를 실행할 때는 이러한 제한이 적용되지 않습니다. 이는 클래스 라이브러리를 로드하는 테스트 엔진인 VSTestHost.exe가 32비트 프로세스에서 실행되기 때문입니다. |
제네릭 테스트의 경우 래핑된 응용 프로그램이 "Any CPU"를 대상으로 빌드되며, 64비트 컴퓨터에서는 이러한 응용 프로그램이 64비트 프로세스로 실행됩니다. 이 64비트 프로세스에서 32비트 어셈블리를 로드하려고 하면 오류가 발생합니다. 다음 방법 중 하나를 사용하여 이 오류를 해결할 수 있습니다.
프로덕션 코드가 컴파일된 이진 파일이 제네릭 테스트로 직접 래핑되는 경우 다음 방법을 사용합니다.
- 솔루션 구성을 x86으로 변경
제네릭 테스트와 프로덕션 코드 이진 파일 사이에 계층이 있는 경우 다음 두 가지 방법 중 하나를 사용합니다. 이는 제네릭 테스트가 테스트 도구 역할을 하는 중간 응용 프로그램을 래핑하는 경우입니다. 이때 테스트 도구는 테스트하려는 프로덕션 코드를 실행하게 됩니다.
프로덕션 코드 이진 파일을 로드하는 응용 프로그램 계측
프로덕션 코드 이진 파일을 로드하는 응용 프로그램의 빌드 설정 변경
솔루션 구성을 x86으로 변경
솔루션 구성을 "Any CPU"에서 "x86"으로 변경합니다.
솔루션 구성을 변경하려면
솔루션을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
솔루션 속성 페이지 대화 상자가 표시됩니다.
구성 속성 아래에서 구성을 클릭합니다.
구성 관리자를 클릭합니다.
구성 관리자 대화 상자가 표시됩니다.
활성 솔루션 플랫폼 아래에서 새로 만들기를 클릭합니다.
새 솔루션 플랫폼 대화 상자가 표시됩니다.
새 플랫폼 입력 또는 선택 아래에서 x86을 클릭합니다.
새 솔루션 플랫폼 대화 상자에서 확인을 클릭합니다.
변경 내용을 저장할지 묻는 대화 상자에서 예를 클릭합니다.
구성 관리자 대화 상자의 활성 솔루션 플랫폼 아래에서 x86을 선택한 다음 닫기를 클릭합니다.
솔루션 속성 페이지 대화 상자에서 확인을 클릭합니다.
프로덕션 코드 이진 파일을 로드하는 응용 프로그램 계측
이 절차를 사용하면 제네릭 테스트에서 래핑하는 중간 응용 프로그램 또는 테스트 도구를 계측할 수 있습니다. 이러한 중간 응용 프로그램에서는 테스트하려는 코드를 실행하게 됩니다. 이렇게 하면 응용 프로그램이 32비트 모드로 실행됩니다.
참고: |
---|
이 절차는 계측 대상 파일에 대한 기호 파일을 사용할 수 있는 경우에만 작동합니다. |
계측할 실행 파일 지정
Visual Studio에서 제네릭 테스트가 들어 있는 테스트 프로젝트를 엽니다.
솔루션 탐색기에서 솔루션 항목 폴더를 엽니다.
솔루션 항목 폴더에서 .testrunconfig 파일을 두 번 클릭합니다.
테스트 실행 구성 대화 상자가 표시됩니다.
코드 검사를 클릭합니다.
계측할 아티팩트 선택에서 프로덕션 코드 이진 파일을 실행하는 중간 응용 프로그램을 선택합니다.
참고: 계측할 아티팩트 선택 아래에 중간 응용 프로그램의 이진 파일이 표시되지 않은 경우 어셈블리 추가를 클릭합니다. 계측할 어셈블리 선택 대화 상자에서 파일을 지정한 다음 열기를 클릭합니다.
적용을 클릭한 다음 닫기를 클릭합니다.
프로덕션 코드 이진 파일을 로드하는 응용 프로그램의 빌드 설정 변경
이 절차를 사용하면 제네릭 테스트에서 래핑하는 모든 중간 응용 프로그램 또는 테스트 도구를 계측할 수 있습니다. 이러한 중간 응용 프로그램에서는 테스트하려는 코드를 실행하게 됩니다.
이 절차에서는 중간 응용 프로그램의 설정을 변경하여 이러한 응용 프로그램을 x86 플랫폼을 대상으로 빌드합니다.
참고: |
---|
래핑된 응용 프로그램이 솔루션에 포함된 프로젝트에서 빌드되는 경우에만 이 방법을 사용할 수 있습니다. |
래핑된 응용 프로그램의 빌드 설정을 변경하려면
솔루션 탐색기에서 중간 응용 프로그램이 빌드되는 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
이렇게 하면 프로젝트의 속성 페이지가 표시됩니다.
빌드 탭을 클릭합니다.
플랫폼 대상으로 x86을 지정합니다.
파일 메뉴에서 선택한 항목 저장을 클릭합니다.