Architekturübergreifende Ausführung
TAEF unterstützt die Möglichkeit, Tests aus verschiedenen Architekturen mit derselben Befehlszeile auszuführen , vorausgesetzt, das Betriebssystem, unter dem die Tests ausgeführt werden, unterstützt diese. Dies bedeutet, dass beispielsweise x64 - und x86-Tests (unter einem x64-Betriebssystem) mit einer einzelnen "te.exe"-Befehlszeile 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 folgendes sein:
- x86
- x64
- ia64
TAEF sucht in einem Ordner namens für die Zielarchitektur relativ zum ursprünglichen "te.exe" für die 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 überprüft die Binärdatei, um die Zielarchitektur zu identifizieren, und instanziieren den richtigen Hostprozess, um die Tests zu laden und auszuführen. Beispielsweise kann ein x86-te.exe eine x64-Test-DLL überprü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's umfassen 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
Dadurch können TAEF-Benutzer mehr Testabdeckung über eine einzelne Befehlszeile erhalten, wobei alle Ergebnisse in einem einzelnen Protokoll zusammengefasst werden. Ohne diese Funktionalität müssten die Tests für jede Architektur in ihrer eigenen Befehlszeile zusammengefasst, einzeln ausgeführt und die Ergebnisse jeder Ausführung kombiniert werden.
Wenn eine bestimmte 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 die Metadaten "Architektur" automatisch auf Testdateien an, für die eine bestimmte Architektur erforderlich ist. Der Wert der Metadaten "Architektur" ist die Architektur, die zum Ausführen der Tests erforderlich ist, und ist einer von:
- x86
- x64
- ia64
Um Tests für eine bestimmte Architektur auszuwählen, können Sie die Auswahlsprache verwenden, um die Metadaten "Architektur" abzugleichen. Wenn der Ordner "Tests" beispielsweise eine Mischung aus x86- und x64-Testdateien enthält, werden in der folgenden Befehlszeile nur die x64-Tests ausgeführt:
c:\taef\x86>te Tests\*.Tests.dll /select:@Architecture='x64'
Fehler
Das Übergeben einer Testdatei, die für eine andere Architektur als TAEF kompiliert wird, ohne dass die erforderlichen Zielarchitektur-Binärdateien vorhanden sind, führt zu einer Fehlermeldung. Das folgende Beispiel zeigt einen x86 -te.exe, der 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.