Echoのパラメータ

Echoの結果を分かりやすく見たい場合には「/rt:Html /sr」といったパラメータをつけておくと、テスト完了後にブラウザで内容を確認できます。

Echoでのテスト完了後に表示されるレポート

Echoでは、他にも多くのパラメータを指定することができます。設定できるパラメータは次の通りです。

Echoで設定できるパラメータ一覧

@ パラメータを記述した応答ファイルの場所を指定
アセンブリ テストを実行するアセンブリを指定(空白区切りで複数指定可能)
/hint-directory: /hd テストクラスが依存するアセンブリやリソースの場所
/plugin-directory: /pd MbUnitプラグインの場所(再帰)
/application-base-directory: /abd テスト実行時にデフォルトフォルダの代わりに使うフォルダ
/working-directory: /wd テスト実行時に使うデフォルトフォルダ
/shadow-copy /sc アセンブリのシャドウコピーの使用。シャドウコピーを使用するとテスト中にアセンブリがロックされないため、テスト中にコードを変更してアセンブリをビルド可。稀に場所に依存するテストで失敗する可能性あり
/report-directory: /rd レポートを出力するフォルダ
/report-name-format: /rnf レポートファイル名のパターン
/report-type: /rt 生成するテストレポートの形式を選択。Condensedは失敗レポートのみの要約
/show-reports /sr 生成したレポート形式に応じたアプリケーションでレポートを表示
/filter: /f "キー名:値"という組み合わせでフィルター条件を指定。キー名には「Id(テストID)」「Name(テスト名)」「Assembly(アセンブリ)」「Namespace(名前空間)」「Type(サブクラスを含むクラス名)」「ExactType(サブクラスを含まないクラス名)」「Member(メソッド名)」や「CategoryName」「AuthorName」といった属性名を指定。カンマ区切り"キー名:値, 値, 値"、正規表現、「AND」「OR」「NOT」指定も可能
/runner: /r テストを実行するテストランナーの区分を次から選択。「IsolatedAppDomain(ランナーと同じプロセスかつ別のAppDomain)」「IsolatedProcess(ランナーと別のプロセス)」「Local(ランナーと同じプロセス)」「NCover(NCover1.5.8別プロセス→Coverage.xml生成)」「NCover2(NCover2別プロセス:別途NCover2必要)」「TypeMock(TypeMock.Net別プロセス:別途TypeMock.Net必要)」。デフォルトは「Local」。別プロセスを選択した場合Gallio.Host.exeが起動
/extension: /e テスト中に使うエクステンションを設定。「名前空間.クラス名,アセンブリ名;パラメータ」の形式で指定
/help /h ヘルプメッセージを表示
/verbosity: /v テスト中に表示する詳細情報のレベルを次から選択。「Quiet」「Normal」「Verbose」「Debug」
/no-echo-results /ne 実行したクラス名、メソッド名、エラー内容を非表示。実行、成功、失敗したテスト数のみを表示
/do-not-run /dnr アセンブリは読み込むがテストは実行しない
/ignore-annotations /ia アノテーションのエラーを無視。アノテーションエラーが指定されていてもGallio.Echo.exeの戻り値を0とする。例えば[Annotation(Gallio.Model.AnnotationType.Error, "データ不正")]というような属性がテストクラスに定義されていて全テストにパスした場合、戻り値(%ERRORLEVEL%)が1ではなく0となる

これらのパラメータを上手く利用すれば、テストの動作を細かく設定できます。例えば「/filter:"CategoryName:会計 OR Description:DB系"」と指定した場合は、テスト対象をCategory属性とDescription属性で絞りこんでからテストを実行することができます。

応答ファイルの記述

もし、パラメータを毎回書くのが面倒であれば、応答ファイルを記述することもできます。

応答ファイルの例(response.txt)

#テストで読み込むアセンブリ
GallioSample\MathTestsNUnit\bin\Debug\MathTestsNUnit.dll
GallioSample\MathTestsVSTest\bin\Debug\MathTestsVSTest.dll

#パラメータの設定
/report-type:Html-Condensed
/shadow-copy
/show-reports
/runner:IsolatedProcess
/report-directory:C:\Gallio\GallioSample\GallioLog
/verbosity:Verbose

この場合「Gallio.Echo.exe @C:\Gallio\response.txt」と応答ファイルのパスを指定して実行できます。Echoは動作が軽快で設定項目も多い、使い勝手が良いツールといえるでしょう。