아키텍처 간 실행

TAEF는 테스트를 실행하는 OS가 지원하는 경우 동일한 명령줄을 사용하여 다른 아키텍처에서 테스트를 실행하는 기능을 지원합니다. 즉, 예를 들어 x64 x86 테스트(x64 OS)는 단일 'te.exe' 명령줄로 실행할 수 있습니다.

필수 구성 요소

'te.exe' 자체와 다른 아키텍처에 대한 테스트를 실행하려면 해당 아키텍처에 대한 TAEF 이진 파일을 'te.exe'에 사용할 수 있어야 합니다. 대상 아키텍처는 다음 중 어느 것이든 될 수 있습니다.

  • x86
  • X64
  • ia64

TAEF는 해당 아키텍처에 대한 TAEF 이진 파일의 원래 'te.exe'을 기준으로 대상 아키텍처의 이름을 지정한 폴더를 찾습니다.

다른 아키텍처에 대한 테스트 실행

다른 아키텍처에 대한 테스트를 실행하려면 추가 구성이 필요하지 않습니다. 지정된 DLL을 'te.exe'에 매개 변수로 전달하기만 하면 됩니다. TAEF는 이진 파일을 검사하여 대상 아키텍처를 식별하고 테스트를 로드하고 실행하기 위해 올바른 호스트 프로세스를 인스턴스화합니다. 예를 들어 x86 'te.exe'은 x64 테스트 DLL을 검사하고 x64 프로세스를 시작하여 테스트를 실행합니다.

c:\taef\x86te> x64\Scenario.Tests.dll

'te.exe' 명령줄은 여러 테스트 DLL을 사용할 수 있으므로 아키텍처를 혼합할 수 있으며 TAEF는 지정된 테스트 DLL에 대한 올바른 호스트 프로세스를 선택합니다.

c:\taef\x86te> x64\Scenario.Tests.dll x86\Scenario.Tests.dll x64\UI.Tests.dll

이렇게 하면 TAEF 사용자가 단일 명령줄에서 더 많은 테스트 범위를 얻을 수 있으며 모든 결과가 단일 로그로 롤업됩니다. 이 기능이 없으면 각 아키텍처에 대한 테스트를 자체 명령줄로 함께 가져와 개별적으로 실행하고 각 실행의 결과를 결합해야 합니다.

지정된 테스트 파일이 아키텍처와 관련이 없는 경우(예: 순수 IL로 컴파일되는 C# 이진 파일) 전달된 'te.exe'과 동일한 아키텍처를 사용하여 실행됩니다.

아키텍처별 테스트 선택

TAEF는 특정 아키텍처가 필요한 테스트 파일에 '아키텍처' 메타데이터를 자동으로 적용합니다. '아키텍처' 메타데이터의 값은 테스트를 실행하는 데 필요한 아키텍처이며 다음 중 하나가 됩니다.

  • x86
  • X64
  • ia64

특정 아키텍처에 대한 테스트를 선택하기 위해 선택 언어를 사용하여 '아키텍처' 메타데이터와 일치시킬 수 있습니다. 예를 들어 'Tests' 폴더에 x86 및 x64 테스트 파일이 혼합된 경우 다음 명령줄은 x64 테스트만 실행합니다.

c:\taef\x86te> Tests\*.Tests.dll /select:@Architecture='x64'

오류

필요한 대상 아키텍처 이진 파일 없이 다른 아키텍처용으로 컴파일된 테스트 파일을 TAEF에 전달하면 오류 메시지가 표시됩니다. 다음 예제에서는 'x64' 하위 폴더가 필요한 이진 파일로 채워지지 않고 x64 테스트를 실행하려고 시도하는 x86 'te.exe'을 보여 줍니다.

c:\>te x64\Scenario.Tests.dll
Test Authoring and Execution Framework v2.2 Build 6.1.7689.0 (release.091218-1251) for x86
Error: Please copy all x64 TAEF binaries to the 'c:\taef\x86\x64' directory in order to run x64 tests from this process. 
Error: Failed to create the ProcessHostController. TE.ProcessHost.exe may be unavailable. Terminating execution...
Error: No test cases were executed.