Freigeben über


Architekturübergreifende Ausführung

TAEF unterstützt die Möglichkeit, Tests aus verschiedenen Architekturen mit derselben Befehlszeile auszuführen, vorausgesetzt, das Betriebssystem, das die Tests ausführt, unterstützt sie. Dies bedeutet, dass z. B. x64- und x86-Tests (auf einem x64-Betriebssystem) mit einer einzigen Befehlszeile "te.exe" ausgeführt werden können.

Voraussetzungen

Um Tests für eine andere Architektur als "te.exe" selbst auszuführen, müssen die TAEF-Binärdateien für diese Architektur für "te.exe" verfügbar sein. Die Zielarchitektur kann eine der folgenden Sein:

  • x86
  • x64
  • ia64

TAEF sucht in einem Ordner, der nach der Zielarchitektur benannt und relativ zur ursprünglichen Architektur 'te.exe' abgelegt ist, nach den TAEF-Binärdateien für diese Architektur.

Ausführen von Tests für eine andere Architektur

Das Ausführen von Tests für eine andere Architektur erfordert keine zusätzliche Konfiguration . Übergeben Sie einfach die angegebene DLL als Parameter an "te.exe". TAEF prüft die Binärdatei, um die Zielarchitektur zu identifizieren und den richtigen Hostprozess zu instanziieren, um die Tests zu laden und auszuführen. Beispielsweise kann ein x86 -te.exeeine x64-Test-DLL prüfen und einen x64-Prozess starten, um die Tests auszuführen:

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

Da die Befehlszeile "te.exe" mehrere Test-DLL-Dateien verwenden kann, können Sie Architekturen kombinieren, und TAEF wählt die richtigen Hostprozesse für die angegebene Test-DLL aus:

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

Auf diese Weise können TAEF-Benutzer mehr Testabdeckung über eine einzelne Befehlszeile erhalten, wobei alle Ergebnisse in einem einzigen Protokoll zusammengefasst wurden. Ohne diese Funktionalität müssten die Tests für jede Architektur in eine eigene Befehlszeile gezogen, einzeln ausgeführt und die Ergebnisse jeder Ausführung zusammengeführt werden.

Wenn eine angegebene Testdatei nicht architekturspezifisch ist (z. B. eine C#-Binärdatei, die zu reinem IL kompiliert wird), wird sie mit derselben Architektur wie die 'te.exe' ausgeführt, an die sie übergeben wurde.

Auswählen von Tests nach Architektur

TAEF wendet automatisch die Metadaten "Architektur" auf Testdateien an, die eine bestimmte Architektur erfordern. Der Wert der Metadaten "Architektur" ist die Architektur, die zum Ausführen der Tests erforderlich ist, und eine der folgenden:

  • x86
  • x64
  • ia64

Um Tests für eine bestimmte Architektur auszuwählen, können Sie die Auswahlsprache verwenden, um den Metadaten "Architektur" zu entsprechen. Wenn der Ordner "Tests" beispielsweise eine Mischung aus x86- und x64-Testdateien enthält, führt die folgende Befehlszeile nur die x64-Tests aus:

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

Irrtümer

Das Übergeben einer Testdatei, die für eine andere Architektur kompiliert wird, an TAEF, ohne dass die erforderlichen Binärdateien für die Zielarchitektur vorhanden sind, führt zu einer Fehlermeldung. Im folgenden Beispiel wird ein x86 'te.exe' versucht, x64-Tests auszuführen, ohne dass der Unterordner 'x64' mit den erforderlichen Binärdateien aufgefüllt wird:

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.