Partager via


Exécution inter-architecture

TAEF prend en charge la possibilité d’exécuter des tests à partir de différentes architectures avec la même ligne de commande, à condition que le système d’exploitation exécutant les tests les prenne en charge. Cela signifie que, par exemple, les tests x64 et x86 (sur un système d’exploitation x64) peuvent être exécutés avec une seule ligne de commande « te.exe ».

Conditions préalables

Pour exécuter des tests pour une architecture différente de « te.exe », les fichiers binaires TAEF de cette architecture doivent être disponibles pour « te.exe ». L’architecture cible peut être l’une des suivantes :

  • x86
  • x64
  • ia64

TAEF recherche dans un dossier nommé pour l’architecture cible par rapport au « te.exe » d’origine les fichiers binaires TAEF pour cette architecture.

Exécution de tests pour une architecture différente

L’exécution de tests pour une architecture différente ne nécessite aucune configuration supplémentaire. Il suffit de passer la DLL donnée en tant que paramètre à « te.exe ». TAEF inspecte le binaire pour identifier son architecture cible et instancier le processus hôte approprié afin de charger et d’exécuter les tests. Par exemple, un « te.exe » x86 peut inspecter une DLL de test x64 et lancera un processus x64 pour exécuter les tests :

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

Étant donné que la ligne de commande « te.exe » peut prendre plusieurs DLL de test, vous pouvez combiner des architectures et TAEF choisira les processus hôtes appropriés pour la DLL de test donnée :

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

Cela permet aux utilisateurs TAEF d’obtenir une plus grande couverture des tests à partir d’une seule ligne de commande, tous les résultats étant regroupés dans un seul journal. Sans cette fonctionnalité, les tests de chaque architecture doivent être regroupés dans leur propre ligne de commande, exécutés individuellement et les résultats de chaque exécution combinés.

Si un fichier de test donné n’est pas spécifique à l’architecture (par exemple, un binaire C# qui compile en il pur), il sera exécuté à l’aide de la même architecture que le « te.exe » auquel il a été passé.

Sélection de tests par architecture

TAEF applique automatiquement les métadonnées « Architecture » aux fichiers de test qui nécessitent une architecture spécifique. La valeur des métadonnées « Architecture » est l’architecture requise pour exécuter les tests et sera l’une des suivantes :

  • x86
  • x64
  • ia64

Pour sélectionner des tests pour une architecture spécifique, vous pouvez utiliser le langage de sélection pour faire correspondre les métadonnées « Architecture ». Par exemple, si le dossier « Tests » contient un mélange de fichiers de test x86 et x64, la ligne de commande suivante exécute uniquement les tests x64 :

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

Erreurs

La transmission d’un fichier de test compilé pour une architecture différente de TAEF sans les fichiers binaires d’architecture cible requis entraîne un message d’erreur. L’exemple suivant montre un « te.exe » x86 qui tente d’exécuter des tests x64, sans que le sous-dossier « x64 » soit rempli avec les fichiers binaires requis :

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.