다음을 통해 공유


제네릭 테스트 문제 해결

제네릭 테스트를 실행하면 "64비트 플랫폼에서 제네릭 테스트를 실행할 때 코드 검사 데이터 수집 기능이 작동하지 않습니다."라는 내용의 오류가 발생할 수 있습니다.이 오류를 해결하려면 다음에 나오는 32비트 제한 우회 단원의 정보를 참조하십시오.

요구 사항

  • Visual Studio Ultimate, Visual Studio Premium

32비트 제한 우회

코드 검사 계측은 64비트 모드가 아닌 32비트 모드에서만 작동합니다.이는 코드 검사용으로 계측된 어셈블리를 32비트 모드로만 로드할 수 있기 때문입니다.

[!참고]

코드 검사 데이터를 수집하지 않는 경우 64비트 컴퓨터에서 단위 테스트를 실행할 때는 이러한 제한이 적용되지 않습니다.이는 클래스 라이브러리를 로드하는 테스트 엔진인 VSTestHost.exe가 32비트 프로세스에서 실행되기 때문입니다.

제네릭 테스트의 경우 래핑된 응용 프로그램이 "Any CPU"를 대상으로 빌드되며, 64비트 컴퓨터에서는 이러한 응용 프로그램이 64비트 프로세스로 실행됩니다.이 64비트 프로세스에서 32비트 어셈블리를 로드하려고 하면 오류가 발생합니다.다음 방법 중 하나를 사용하여 이 오류를 해결할 수 있습니다.

프로덕션 코드가 컴파일된 이진 파일이 제네릭 테스트로 직접 래핑되는 경우 다음 방법을 사용합니다.

  • 솔루션 구성을 x86으로 변경

제네릭 테스트와 프로덕션 코드 이진 파일 사이에 계층이 있는 경우 다음 두 가지 방법 중 하나를 사용합니다.이는 제네릭 테스트가 테스트 도구 역할을 하는 중간 응용 프로그램을 래핑하는 경우입니다.이때 테스트 도구는 테스트하려는 프로덕션 코드를 실행하게 됩니다.

  • 프로덕션 코드 이진 파일을 로드하는 응용 프로그램의 빌드 설정 변경

ms404657.collapse_all(ko-kr,VS.110).gif솔루션 구성을 x86으로 변경

솔루션 구성을 "Any CPU"에서 "x86"으로 변경합니다.

솔루션 구성을 변경하려면

  1. 솔루션을 마우스 오른쪽 단추로 클릭 한 다음 선택 속성이.

    솔루션 속성 페이지 대화 상자가 표시됩니다.

  2. 아래에서 구성 속성를 선택 구성.

  3. 선택 구성 관리자.

    구성 관리자 대화 상자가 표시됩니다.

  4. 활성 솔루션 플랫폼 아래에서 새로 만들기를 클릭합니다.

    새 솔루션 플랫폼 대화 상자가 표시됩니다.

  5. 아래에서 새 플랫폼 입력 또는 선택를 선택 x86.

  6. 새 솔루션 플랫폼 대화 상자에서 선택한 확인 합니다.

  7. 변경 내용을 저장할 것인지 묻는 대화 상자에서 선택한 .

  8. 구성 관리자 대화 상자에서 활성 솔루션 플랫폼, 확인 x86 선택 하 고 다음을 선택 닫기.

  9. 솔루션 속성 페이지 대화 상자에서 선택한 확인.

ms404657.collapse_all(ko-kr,VS.110).gif프로덕션 코드 이진 파일을 로드하는 응용 프로그램의 빌드 설정 변경

이 절차를 사용하면 제네릭 테스트에서 래핑하는 모든 중간 응용 프로그램 또는 테스트 도구를 계측할 수 있습니다.이러한 중간 응용 프로그램에서는 테스트하려는 코드를 실행하게 됩니다.

이 절차에서는 중간 응용 프로그램의 설정을 변경하여 이러한 응용 프로그램을 x86 플랫폼을 대상으로 빌드합니다.

[!참고]

래핑된 응용 프로그램이 솔루션에 포함된 프로젝트에서 빌드되는 경우에만 이 방법을 사용할 수 있습니다.

래핑된 응용 프로그램의 빌드 설정을 변경하려면

  1. 솔루션 탐색기에서 중간 응용 프로그램이 빌드되고 다음 선택 프로젝트를 마우스 오른쪽 속성이.

    이렇게 하면 프로젝트의 속성 페이지가 표시됩니다.

  2. 선택은 빌드 탭.

  3. 플랫폼 대상으로 x86을 지정합니다.

  4. 파일 메뉴를 선택 선택한 항목 저장.

참고 항목

개념

제네릭 테스트를 사용하여 실행 파일을 실행하는 자동화된 테스트 만들기