Compartir a través de


Ejecución entre arquitecturas

TAEF admite la capacidad de ejecutar pruebas desde diferentes arquitecturas con la misma línea de comandos, siempre que el sistema operativo que ejecuta las pruebas los admita. Esto significa que, por ejemplo, las pruebas x64 y x86 (en un sistema operativo x64) se pueden ejecutar con una sola línea de comandos "te.exe".

Prerrequisitos

Para ejecutar pruebas para una arquitectura diferente a la propia "te.exe", los archivos binarios de TAEF para esa arquitectura deben estar disponibles para "te.exe". La arquitectura de destino puede ser cualquiera de:

  • x86
  • x64
  • ia64

TAEF buscará en una carpeta denominada según la arquitectura de destino, con respecto a la original 'te.exe', los archivos binarios de TAEF para esa arquitectura.

Ejecución de pruebas para una arquitectura diferente

La ejecución de pruebas para una arquitectura diferente no requiere ninguna configuración adicional; simplemente pase el archivo DLL dado como un parámetro a "te.exe". TAEF inspeccionará el binario para identificar su arquitectura de destino y creará una instancia del proceso de host correcto para cargar y ejecutar las pruebas. Por ejemplo, un x86 'te.exe' puede inspeccionar una DLL de prueba x64 e iniciará un proceso x64 para ejecutar las pruebas.

c:\taef\x86>te x64\Scenario.Tests.dll

Dado que la línea de comandos "te.exe" puede tomar varias DLL de prueba, puede mezclar arquitecturas y TAEF elegirá los procesos de host correctos para la DLL de prueba dada:

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

Esto permite a los usuarios de TAEF obtener más cobertura de pruebas desde una sola línea de comandos, con todos los resultados inscritos en un único registro. Sin esta funcionalidad, las pruebas de cada arquitectura tendrían que agruparse en su propia línea de comandos para ser ejecutadas individualmente y luego los resultados de cada ejecución combinada.

Si un archivo de prueba determinado no es específico de la arquitectura (por ejemplo, un binario de C# que se compila en IL puro), se ejecutará con la misma arquitectura que la "te.exe" a la que se pasó.

Selección de pruebas por arquitectura

TAEF aplica automáticamente los metadatos de "Arquitectura" a los archivos de prueba que requieren una arquitectura específica. El valor de los metadatos de "Arquitectura" es la arquitectura necesaria para ejecutar las pruebas y será una de las siguientes:

  • x86
  • x64
  • ia64

Para seleccionar pruebas para una arquitectura específica, puede usar el lenguaje de selección para que coincida con los metadatos de "Arquitectura". Por ejemplo, si la carpeta "Pruebas" contiene una combinación de archivos de prueba x86 y x64, la siguiente línea de comandos ejecutará solo las pruebas x64:

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

Errores

Pasar un archivo de prueba compilado para una arquitectura diferente a TAEF sin los archivos binarios de arquitectura de destino necesarios presentes producirá un mensaje de error. En el ejemplo siguiente se muestra unate.exex86 " que intenta ejecutar pruebas x64, sin que la subcarpeta "x64" se rellene con los archivos binarios necesarios:

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.