Condividi tramite


Esecuzione tra architetture

TAEF supporta la possibilità di eseguire test da architetture diverse con la stessa riga di comando, purché il sistema operativo che esegue i test li supporti. Ciò significa che, ad esempio, i test x64 e x86 (in un sistema operativo x64) possono essere eseguiti con una singola riga di comando "te.exe".

prerequisiti

Per eseguire test per un'architettura diversa da 'te.exe' stessa, i file binari TAEF per tale architettura devono essere disponibili per 'te.exe'. L'architettura di destinazione può essere una delle seguenti:

  • x86
  • x64
  • ia64

TAEF cercherà in una cartella il cui nome corrisponde all'architettura di destinazione relativa all'originale 'te.exe' per i file binari TAEF di quella architettura.

Esecuzione di test per un'architettura diversa

L'esecuzione di test per un'architettura diversa non richiede alcuna configurazione aggiuntiva: è sufficiente passare la DLL specificata come parametro a "te.exe". TAEF esaminerà il file binario per identificare l'architettura di destinazione e creerà un'istanza del processo host corretto per caricare ed eseguire i test. Ad esempio, unte.exex86 può esaminare una DLL di test x64 e avvierà un processo x64 per eseguire i test:

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

Poiché la riga di comando "te.exe" può accettare più DLL di test, è possibile combinare architetture e TAEF sceglierà i processi host corretti per la DLL di test specificata:

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

Ciò consente agli utenti TAEF di ottenere una maggiore copertura dei test da una singola riga di comando, con tutti i risultati distribuiti in un singolo log. Senza questa funzionalità, i test per ogni architettura dovrebbero essere raggruppati nella propria riga di comando, eseguiti singolarmente e i risultati di ciascuna esecuzione combinati.

Se un determinato file di test non è specifico dell'architettura (ad esempio, un file binario C# che viene compilato in puro IL), verrà eseguito usando la stessa architettura dell'te.exea cui è stato passato.

Selezione di test per architettura

TAEF applica automaticamente i metadati 'Architettura' ai file di test che richiedono un'architettura specifica. Il valore dei metadati 'Architecture' è l'architettura necessaria per eseguire i test e sarà una delle seguenti:

  • x86
  • x64
  • ia64

Per selezionare i test per un'architettura specifica, è possibile usare la lingua di selezione per trovare la corrispondenza con i metadati 'Architettura'. Ad esempio, se la cartella 'Tests' contiene una combinazione di file di test x86 e x64, la riga di comando seguente eseguirà solo i test x64:

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

Errori

Il passaggio di un file di test compilato per un'architettura diversa a TAEF senza i file binari dell'architettura di destinazione necessari presenti genererà un messaggio di errore. L'esempio seguente mostra unte.exex86 che tenta di eseguire test x64, senza che la sottocartella 'x64' venga popolata con i file binari necessari:

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.