Te.exe のコマンド オプション
使用方法
te.exe<test_binaries> [/appendWttLogging] [/breakOnCreate] [/breakOnError] [/breakOnInvoke] [/coloredConsoleOutput] [ /console:flushWrites] [/console::console:position=[x,y | current] [/console:size=<x,y>] [ /console:topmost ] [/defaultAppDomain] [/disableConsoleLogging] [/disableTimeouts] [/dpiaware ] [/enableWttLogging] [/inproc] [/isolationLevel] [/labMode ] [/list] [/listProperties] [/logFile:<name>] [/logOutput:<mode>] [/miniDumpOnCrash] [/miniDumpOnError] [/name:<testname >] [/outputFolder:<folderName>] [/p:<ParamName>=<ParamValue>] [/parallel] [/persistPictResults] [/pict:<OptionName>=<OptionValue>] [/rebootStateFile] [/reportLoadingIssue] [/runas:< >RunAsType] [/runIgnoredTests] [/runon:<MachineName>] [/screenCaptureOnError] [/select:<query>] [/sessionTimeout:<value>] [/stackFrameCount:<value>] [/stackTraceOnError] [/terminateOnFirstFailure] [/testDependencies:<files>] [/testmode:Loop] [/testmode:Stress /testTimeout:<value>] [/unicodeOutput:<true/false>] [/version] [/wttDeviceString:<value>] [/wttDeviceStringSuffix:<value>]
選択/実行コマンド
test_binaries
実行する 1 つ以上のテスト ファイルを (スペースで区切って) 指定します。 ワイルドカード文字がサポートされています。
te.exe test1.dll
解釈: test1.dll 内のすべてのテストを実行します。
te.exe test1.dll test2.dll test3.dll
解釈: test1.dll、test2.dll、test3.dll 内のすべてのテストを実行します。
te.exe *.dll
解釈: 現在のディレクトリにあるすべての dll 内のすべてのテストを実行します。
/coloredConsoleOutput:<true/false>
TAEF で色付きのコンソール テキストを出力するかどうかを指定します。 既定値は true です。 false に設定すると、すべてのテキストがコンソールの既定の色で出力されます。
te.exe test1.dll /coloredConsoleOutput:false
/console:<optionName>=<value>
TE によるコンソールの使用を構成するためのオプションを提供します。 次のオプションを使用できます。
/console:flushWrites
すべての行が書き込まれた後にコンソール出力がフラッシュされます。TE.exe の出力がリダイレクトされている場合に便利です。
/console:position=[x,y | current ]
プライマリ モニターの角を基準として、コンソール ウィンドウの位置 (ピクセル単位) を設定します。 コンソールの現在の位置を保存し、再起動から再開するときに使用するように指定するには、値 current を使用します。
/console:size=[ <x,y> | current ]
コンソール ウィンドウのサイズ (文字サイズ単位) を設定します。 画面バッファー サイズは、必要に応じてウィンドウのサイズに合わせて大きくなります。 コンソールの現在のサイズを保存し、再起動から再開するときに使用するように指定するには、値 current を使用します。
/console:topmost
te.exe を実行しているコンソールを、実行期間中、デスクトップの z オーダーの "一番上" に保持します。
/dpiaware
DPI 対応としてマークされたプロセスでテストを実行します。高 DPI に関する記事を参照してください。 これは、メタデータ ("DpiAware") を介して設定することもできます。
/inproc
TE.ProcessHost.exe 内ではなく、TE.exe プロセス自体の中ですべてのテストを実行します。
te.exe test1.dll /inproc
Note
/inproc 設定を使用する場合、TE でサポートされるテスト dll の実行は一度に 1 つだけです。
/isolationLevel:<Level>
TAEF テストの実行時に使用する分離の最小レベルを指定します。 この値がメタデータとして指定された IsolationLevel と競合する場合、値は最も狭いスコープの分離レベルになります。 詳細については、「テストの分離」を参照してください。
te.exe test1.dll /isolationLevel:Class
/labMode
テストを実行し、ブロックする可能性のある UI (クラッシュ テストでの Windows エラー報告ダイアログなど) を削除します。
/list
すべての test_binaries の名前と、それらの test_binaries 内のクラスとメソッドを一覧表示します。 選択条件が指定されている場合は、その条件を満たす名前だけが一覧表示されます。
te.exe test1.dll test2.dll /list
WEX::UnitTests::Test1
WEX::UnitTests::Test1::Example1
WEX::UnitTests::Test1::Example2
WEX::UnitTests::Test1::Example3
WEX::UnitTests::Test2
WEX::UnitTests::Test2::Example1
WEX::UnitTests::Test2::Example2
WEX::UnitTests::Test2::Example3
te.exe test1.dll test2.dll /select:@name='*Example2*' /list
WEX::UnitTests::Test1
WEX::UnitTests::Test1::Example2
WEX: :UnitTests::Test2
WEX::UnitTests::Test2::Example2
/listProperties
すべての test_binaries の名前とプロパティ、それらの test_binaries 内のクラスとメソッド、Setup 関数と Teardown 関数の名前 (使用可能な場合) を一覧表示します。 選択条件が指定されている場合は、その条件を満たす名前だけが一覧表示されます。
te.exe test1.dll test2.dll /listProperties
WEX::UnitTests::Test1
WEX::UnitTests::Test1::Example1
Setup: Test1Setup
Teardown: Test1Teardown
Property[ThreadingModel] = MTA
WEX::UnitTests::Test1::Example2
Setup: Test1Setup
Teardown: Test1Teardown
Property[ThreadingModel] = STA
WEX::UnitTests::Test1::Example3
Setup: Test1Setup
Teardown: Test1Teardown
Property[ThreadingModel] = STA
WEX::UnitTests::Test2
WEX::UnitTests::Test2::Example1
Property[ThreadingModel] = MTA
WEX::UnitTests::Test2::Example2
Property[ThreadingModel] = STA
WEX::UnitTests::Test2::Example3
Property[ThreadingModel] = MTA
te.exe test1.dll test2.dll /select:@name='*Example2*' /listProperties
WEX::UnitTests::Test1
WEX::UnitTests::Test1::Example2
Setup: Test1Setup
Teardown: Test1Teardown
Property[ThreadingModel] = STA
WEX::UnitTests::Test2
WEX::UnitTests::Test2::Example2
Property[ThreadingModel] = STA
/name:<testname>
テスト名ベースの選択は、"/select:@Name='<testname>'" に代わる簡単な方法です。 <testname> にはワイルドカード文字 ("*" と "?") を含めることもできますが、単一引用符で囲まないでください。 コマンド プロンプトで /select と /name の両方が指定されている場合、/select クエリが優先され、/name は無視されます。
te.exe test1.dll /name:*TestToLower
解釈: メソッド名が "TestToLower" で終わる、test1.dll 内のすべてのテストを実行します。 /select:@Name='*TestToLower' という選択条件を使用して同じことを表すことができます。
te.exe test1.dll /name:*StringTest*
解釈: 名前空間、クラス、またはメソッドの名前に "StringTest" という語句が含まれる、test1.dll 内のすべてのテストを実行します。
/outputFolder:<folderName>
生成されたすべてのファイルを配置するフォルダーを指定します。 既定値は、現在のディレクトリです。 たとえば、次のように環境変数を使用できます。
te.exe test1.dll /outputFolder:%TEMP%\\MyOutput
/p:<ParamName>=<ParamValue>
パラメーター名 (ParamName) とパラメーター値 (ParamValue) を指定してランタイム パラメーターを定義します。 これらのパラメーターには、テスト メソッドまたはセットアップ/クリーンアップ メソッドからアクセスできます。
te.exe test1.dll /p:x=5 /p:myParm=cool
x は、テスト コードでサポートされている型のいずれかとして取得できます。 たとえば、ここでは、int と WEX::Common::String の両方として取得していることがわかります。
int x = 0;
String xString;
RuntimeParameters::TryGetValue(L"x", x);
RuntimeParameters::TryGetValue(L"x", xString);
詳細については、TAEF.Runtime Parameters のヘルプ ページを参照してください。
/parallel
複数のプロセッサ間でテストを並列で実行します。 テストでは、"Parallel" メタデータでマークすることで並列実行をオプトインする必要があります。
te.exe test1.dll /parallel
詳細については、Parallel のヘルプ ページを参照してください。
/persistPictResults
現在の実行で PICT DataSource を使用するテストの、PICT.exe によって生成された結果をキャッシュします。 以降のテスト実行では、同じモデル ファイルとシード ファイルに対する PICT.exe の実行に対して、キャッシュされた結果の利用を試みます。
/pict:<OptionName>=<OptionValue>
PICT DataSource を使用するテストで PICT.exe が呼び出されたときに、PICT.exe を制御するためのオプションを提供します。 現在、これらのオプションのいずれかを設定すると、コード内の関連するすべてのメタデータがオーバーライドされます。 次のオプションを使用できます。
/Pict:Order=3
PICT.exe の /o コマンド オプションを使用して値を渡すことによって、組み合わせの順序を設定します。
/Pict:ValueSeparator=;
PICT.exe の /d コマンド オプションを使用して値を渡すことによって、値の区切り文字を設定します。
/Pict:AliasSeparator=+
PICT.exe の /a コマンド オプションを使用して値を渡すことによって、エイリアスの区切り文字を設定します。
Pict:NegativeValuePrefix=!
PICT.exe の /n コマンド オプションを使用して値を渡すことによって、負の値のプレフィックスを設定します。
/Pict:SeedingFile=test.seed
PICT.exe の /e コマンド オプションを使用して値を渡すことによって、シード ファイルへのパスを設定します。
/Pict:Random=true
PICT の結果のランダム性をオンまたはオフにし、使用されたランダム シードが PICT データ ソースで記録されるようにします。
/Pict:RandomSeed=33
PICT.exe の /r コマンド オプションを使用して値を渡すことによって、ランダム シードを設定します。 Pict:Random が明示的に false に設定されている場合を除き、これを設定すると Pict:Random がオンになります。
/Pict:CaseSensitive=true
true に設定すると、/c コマンド オプションを PICT.exe に渡すことで大文字小文字の区別が有効になります。
/Pict:Timeout=00:01:30
プロセスを中止する前に、PICT.exe が完了するまで待機する時間を設定します。 値の形式は、[Day.]Hour[:Minute[:Second[.FractionalSeconds]]] です。
/runas:<RunAsType>
指定した環境でテストを実行します。 使用方法の詳細については、RunAs に関するドキュメントを参照してください。
te.exe *.dll /runas:System
解釈: すべてのテストをシステムとして実行します。
te.exe *.dll /runas:Elevated
解釈: すべてのテストを管理者特権を持つユーザーとして実行します。
te.exe *.dll /runas:Restricted
解釈: すべてのテストを管理者特権を持たないユーザーとして実行します。
te.exe *.dll /runas:LowIL
解釈: すべてのテストを低整合性プロセスで実行します。
/runIgnoredTests
"Ignore" メタデータが "true" に設定されたテスト クラスとテスト メソッドを含む、すべてのテストを実行または一覧表示 (/list または /listProperties と併用した場合) します。 既定では、"Ignore" メタデータが "true" に設定されたテスト クラスとテスト メソッドは、実行中および一覧表示中にスキップされます。
/runon:<MachineName>
指定したマシンで、テストをリモートで実行します。 TAEF では、テストを実行するために必要なバイナリを認証、承認、展開し、すべての情報を元のコンソールに記録します。 使用方法の詳細については、マシン間でのテスト実行に関するドキュメントを参照してください。
te.exe *.dll /runon:TestMachine1
解釈: "TestMachine1" で、すべてのテストをリモートで実行します。
/select:<query>
各テスト バイナリからテストを選択するときに使用する選択条件。 選択条件は次の 1 つ以上で構成されます。
@[プロパティ名] = [文字列値]
@[プロパティ名] >= [浮動小数点値または整数値]
@[プロパティ名] > [浮動小数点値または整数値]
@[プロパティ名] <= [浮動小数点値または整数値]
@[プロパティ名] < [浮動小数点値または整数値]
- プロパティ値が文字列の場合は単一引用符で囲む必要があります。
- "and"、"or"、"not" (大文字と小文字を区別しない) を使用して、複合選択条件を指定できます。
- プロパティの文字列値では、"*" 文字と "?" 文字を使用したワイルドカード文字がサポートされています。
- 浮動小数点値と整数値の場合、"*" 文字は "exists" としても使用できますが、部分一致には使用できません。 たとえば、/select:"@Priority=*" は有効ですが、/select:"@Priority=4*" は無効です。
te.exe test1.dll /select:"(@Name='*TestToLower' or @Owner='C2') and not(@Priority < 3)"
解釈: メソッド名が "TestToLower" で終わるか、所有者が "C2" であり、Priority が 3 以上である、test1.dll 内のすべてのテストを実行します。
te.exe test1.dll test2.dll /select:@Priority=\*
解釈: テスト メタデータで Priority が指定されている、test1.dll および test2.dll 内のすべてのテストを実行します。
te.exe test1.dll /select:@Name='*StringTest*'
解釈: 名前空間、クラス、またはメソッドの名前に "StringTest" という語句が含まれる、test1.dll 内のすべてのテストを実行します。
/sessionTimeout:<value>
Te.exe の実行全体のセッション タイムアウトを設定します。 タイムアウトになると、テスト セッションが正常に中止され、プロセス終了コードにタイムアウトが発生したことが示されます。
Note
タイムアウト値は、次の形式で指定する必要があります。
[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]
Note
WTT で実行されている場合、この値を使用して、TAEF セッションがタイムアウトしても Wtt ログ ファイルがそのまま残るようにすることができます。
te.exe test1.dll /sessionTimeout:0:0:0.5
テスト セッション全体が 0.5 秒後にタイムアウトになります。
te.exe test1.dll /sessionTimeout:0:0:45
テスト セッション全体が 45 秒後にタイムアウトになります。
te.exe test1.dll /sessionTimeout:0:20
テスト セッション全体が 20 分後にタイムアウトになります。
te.exe test1.dll /sessionTimeout:5
テスト セッション全体が 5 時間後にタイムアウトになります。
te.exe test1.dll /sessionTimeout:1.2
テスト セッション全体が 1 日と 2 時間後にタイムアウトになります。
/terminateOnFirstFailure
テストの失敗が最初に発生したときに、テストの実行を終了します。 そのテストに対するすべての破棄操作が呼び出されますが、以降のすべてのテストは無視としてマークされます。 既知の問題により、テスト モードの使用時にテストが引き続き実行される場合があります。
te.exe test1.dll /terminateOnFirstFailure
/testDependencies:<files>
マシン間でのテスト実行を使用する際に展開する、テストの追加の依存関係を指定します。 完全なパスが指定されていない限り、TAEF では、テスト ディレクトリではなく、現在のディレクトリを基準にして検索が実行されます。
te.exe *.dll /runon:TestMachine1 /TestDependencies:test*.jpg;file1.doc
解釈: "TestMachine1" ですべてのテストをリモートで実行し、テストを実行する前に "test*.jpg" と "file1.doc" をリモート マシンにコピーします。 各ファイルの指定には、1 つ以上のファイルに一致するワイルドカード文字 (test.txt; test*.dll; など) を含めることができます。
/testTimeout:<value>
Te.exe の実行全体のグローバル テスト タイムアウトを設定します。 この値は、実行中の特定のテストに設定されている可能性があるテスト タイムアウト メタデータをオーバーライドします。
Note
タイムアウト値は、次の形式で指定する必要があります。
[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]
Note
/inproc と組み合わせて使用すると無視されます。
te.exe test1.dll /testTimeout:0:0:0.5
すべてのテストとセットアップ/クリーンアップ メソッドが 0.5 秒後にタイムアウトになります。
te.exe test1.dll /testTimeout:0:0:45
すべてのテストとセットアップ/クリーンアップ メソッドが 45 秒後にタイムアウトになります。
te.exe test1.dll /testTimeout:0:20
すべてのテストとセットアップ/クリーンアップ メソッドが 20 分後にタイムアウトになります。
te.exe test1.dll /testTimeout:5
すべてのテストとセットアップ/クリーンアップ メソッドが 5 時間後にタイムアウトになります。
te.exe test1.dll /testTimeout:1.2
すべてのテストとセットアップ/クリーンアップ メソッドが 1 日と 2 時間後にタイムアウトになります。
/unicodeOutput:<true/false>
TE がテキスト ファイルにパイプ処理されると、既定で Unicode が出力されます。 唯一の例外は、既存の ANSII ファイルへの追加を要求した場合です (''>>" を使用)。
この動作をオーバーライドするために、/unicodeOutput:false を指定できます。 これにより、TE は常に ANSII をファイルに出力するようになります。
te.exe test1.dll /unicodeOutput:false > output.txt
ロガー設定
/appendWttLogging
WTT ログが有効になっている場合、ログ ファイルを上書きするのではなく、ログ ファイルに追加します。 /enableWttLogging と組み合わせて使用する必要があります。
te.exe test1.dll /enableWttLogging /appendWttLogging
テストの実行の完了時に、TE.wtl というログ ファイルを作成するか、このファイルに追加します。
/enableWttLogging
WTT ログを有効にします。Wttlog.dll がパスで使用できる必要があります。
te.exe test1.dll /enableWttLogging
テストの実行の完了時に、TE.wtl というログ ファイルを生成します。
/defaultAppDomain
既定のアプリケーション ドメインでマネージド テストを実行します。
te.exe managed.test1.dll /defaultAppDomain
/disableConsoleLogging
コンソール ログ出力を無効にします。/enableWttLogging と組み合わせて使用する必要があります。
te.exe test1.dll /disableConsoleLogging /enableWttLogging
/logFile:<name>
wtt ログ ファイルとして使用する名前を指定します。/enableWttLogging と組み合わせて使用する必要があります。
te.exe test1.dll /logFile:myCustomLogFile.xml /enableWttLogging
テストの実行の完了時に、myCustomeLogFile.xml というログ ファイルを生成します。
/logOutput:<mode>
ロガーの出力レベルを設定します。 有効な値は次の通りです。
- High: すべてのトレースの横にタイム スタンプを出力するなど、追加のコンソール出力を有効にします。
- Low: コア イベント (開始、グループの終了など) とエラーのみを出力します。 ログ ファイルには、エラーのコンテキストを提供するために、エラーの前に低優先度の詳細が含まれます。
- LowWithConsoleBuffering: Low と同じですが、ログ ファイルとコンソール出力の両方にエラーのコンテキストが含まれます。
- Lowest: Low と同じですが、コンソール出力には、エラー、テストの失敗、実行の概要のみが含まれます。
/version
詳細なバージョン情報を出力します。
/wttDeviceString:<value>
WttLogger を初期化するときに WexLogger によって使用される WttDeviceString を完全にオーバーライドします。
te.exe test1.dll /wttDeviceString:$Console
/wttDeviceStringSuffix:<value>
指定した値を、WttLogger を初期化するときに WexLogger によって使用される既定の WttDeviceString に追加します。 wttDeviceString も指定されている場合は無視されます。
te.exe test1.dll /wttDeviceStringSuffix:$Console
デバッグ設定
/breakOnCreate
各テスト クラスをインスタンス化する前にデバッガーを中断します。
te.exe test1.dll /breakOnCreate
/breakOnError
エラーまたはテストの失敗がログに記録された場合にデバッガーを中断します。
te.exe test1.dll /breakOnError
/breakOnInvoke
各テスト メソッドを呼び出す前にデバッガーを中断します。
te.exe test1.dll /breakOnInvoke
/disableTimeouts
実行中のすべてのタイムアウトを無効にします。 これは、デバッグ中に TAEF がデバッグ対象のプログラムの一部で待機しているときにタイムアウトを防ぐのに役立ちます。
te.exe test1.dll /disableTimeouts
/miniDumpOnError
テストのエラーまたは失敗が発生した場合に、ミニ ダンプを取得してログに記録します。
te.exe test1.dll /miniDumpOnError
/miniDumpOnCrash
テストのクラッシュが発生した場合に、ミニ ダンプを取得してログに記録します。
te.exe test1.dll /miniDumpOnCrash
/rebootStateFile
再起動テストの実行を明示的に有効にします。
te.exe test1.dll /rebootStateFile:myFile.xml
/reportLoadingIssue
TAEF がテスト dll の読み込みに失敗したときに、エラーの説明ダイアログを表示します。 ネイティブ テスト dll の読み込みに関する問題の調査にのみ使用する必要があります。
te.exe test1.dll /reportLoadingIssue
/screenCaptureOnError
テストのエラーまたは失敗が発生した場合に、スクリーン キャプチャを取得してログに記録します。
te.exe test1.dll /screenCaptureOnError
/stackFrameCount:<value>
呼び出し履歴を取得するときに表示するスタック フレームの数を指定します。 既定値は 50 です。
te.exe test1.dll /stackFrameCount:100
/stackTraceOnError
テストのエラーまたは失敗が発生した場合に、スタック トレースを取得してログに記録します。
te.exe test1.dll /stackTraceOnError
テスト モード
/testmode:Loop
Loop と LoopTest の 2 つの変数を使用して実行を制御できます。
- Loop: 実行全体の実行回数を制御します。 既定値は 1。
- LoopTest: 個々のテストの実行回数を制御します。 既定値: 10。
te.exe test1.dll /testmode:Loop
解釈: test1.dll 内の各テストを 10 回実行します (LoopTest の既定値)。 実行全体が 1 回実行されます (Loop の既定値)。
te.exe test1.dll test2.dll /testmode:Loop /Loop:3 /LoopTest:1
解釈: test1.dll および test2.dll 内の各テストを 1 回実行します (LoopTest によって決定されます)。 実行全体 (test1.dll および test2.dll 内のすべての結合テスト) が 3 回実行されます (Loop によって決定されます)。
/testmode:Stress
"stress" テスト モードでは、Ctrl + C キーが押されるか、TAEF の非表示ウィンドウに WM_CLOSE メッセージが送信されるまで、TAEF は無期限にテストを実行します。 /testmode:stress は、/inproc と組み合わせて実行する必要があります。
te.exe test1.dll /testmode:Stress /inproc
このモードの詳細とサポートされているその他のパラメーターについては、「テスト モード」を参照してください。