次の方法で共有


クロス アーキテクチャの実行

TAEF では、同じコマンド ラインを使用して異なるアーキテクチャのテストを実行する機能がサポートされています。ただし、テストを実行している OS でサポートされている場合です。 つまり、たとえば x64 テスト x86 テスト (x64 OS 上) は、1 つの "te.exe" コマンド ラインで実行できます。

前提条件

'te.exe' 自体とは異なるアーキテクチャのテストを実行するには、そのアーキテクチャの TAEF バイナリを 'te.exe' で使用できる必要があります。 ターゲット アーキテクチャには、次のいずれかになります。

  • x86
  • X64
  • ia64

TAEF は、そのアーキテクチャの TAEF バイナリの元の 'te.exe' を基準にして、ターゲット アーキテクチャの名前が付けられたフォルダーを検索します。

別のアーキテクチャに対するテストの実行

別のアーキテクチャのテストを実行するには、追加の構成は必要ありません。指定された DLL をパラメーターとして 'te.exe' に渡すだけです。 TAEF はバイナリを検査してターゲット アーキテクチャを特定し、テストを読み込んで実行するために適切なホスト プロセスをインスタンス化します。 たとえば、x86 'te.exe' は x64 テスト DLL を検査でき、x64 プロセスを起動してテストを実行します。

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

"te.exe" コマンド ラインは複数のテスト DLL を使用できるため、アーキテクチャを混在させることができ、TAEF は、特定のテスト DLL の適切なホスト プロセスを選択します。

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

これにより、TAEF ユーザーは、すべての結果を 1 つのログにロールアップして、1 つのコマンド ラインからより多くのテスト カバレッジを取得できます。 この機能がないと、各アーキテクチャのテストを独自のコマンド ラインにまとめなければならず、個別に実行し、それぞれの実行の結果を組み合わせなければなりません。

特定のテスト ファイルが アーキテクチャ固有でない 場合 (純粋な IL にコンパイルされる C# バイナリなど)、渡された 'te.exe' と同じアーキテクチャを使用して実行されます。

アーキテクチャ別のテストの選択

TAEF は、特定のアーキテクチャを必要とするテスト ファイルに "アーキテクチャ" メタデータを自動的に適用します。 "アーキテクチャ" メタデータの値は、テストを実行するために必要なアーキテクチャであり、次のいずれかになります。

  • x86
  • X64
  • ia64

特定のアーキテクチャのテストを選択するために、選択言語を使用して "アーキテクチャ" メタデータに一致させることができます。 たとえば、'Tests' フォルダーに x86 と x64 のテスト ファイルが混在している場合、次のコマンド ラインでは x64 テストのみが実行されます。

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

エラー

必要なターゲット アーキテクチャ バイナリが存在しない状態で、別のアーキテクチャ用にコンパイルされたテスト ファイルを TAEF に渡すと、エラー メッセージが表示されます。 次の例は、'x64' サブフォルダーに必要なバイナリを設定せずに、x86 'te.exe' が x64 テストを実行しようとしています。

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.