Webのユニットテスト⑨ Java

前回の続きです。
いろいろなブラウザでのユニットテストを実行する、Hudsonの分散プロジェクトを作ってみます。
長くなりそうなので二回に分けて書きます。

新規ジョブを作成

以前に作ったジョブ(分散プロジェクト)をコピーして作ります。



ジョブの設定を変更

基本的にコピーした設定をそのまま使います。
プロジェクトのルートフォルダ名は変更する必要があります。


このジョブはユニットテストの実行のみを行うので、「ソースコード管理システム」は「なし」を設定します。




IEFireFoxでテストを行うので構成軸を設定しておきます。(構成軸に設定した値はAnt側に渡されます)
また、同時にテストを実行したくないので「各設定を順次起動」にチェックしておきます。




分散プロジェクトでは各ブラウザでの実行結果がHudson上にフォルダ分けされて保存されます。




ですが、今回はHudsonジョブを二つに分けたので、
ユニットテストの実行結果は、「【SampleJob】WEB+DBユニットテストJava)①デプロイ」に保存されます。


ユニットテストの実行結果が上書きされてしまうので、一つのブラウザでのテストが完了したら、
ユニットテストの実行結果を「【SampleJob】WEB+DBユニットテストJava)②テスト」に退避する必要があります。
※静的解析などもブラウザ毎に実行していると時間かかりそうな気もするし・・・静的解析の結果はブラウザ関係ないし・・・
 [コンパイル→WAR作成→アプリケーションサーバにデプロイ]は1回でいいと思うので、二つのジョブに分けています。




なので、ビルドの呼び出しに「Windowsバッチコマンドの実行」を追加して、ユニットテストの実行結果をコピーしておきます。

※「Windowsバッチコマンドの実行」はまとめて書けそうな気がするのですが・・・
 日本語パスが入ってるせいか、まとめて書くと動かなかったので分けて書いています。




「成果物を保存」、「JUnitテスト結果の集計」、「Cobertura カバレッジ・レポートの集計」の設定はこんな感じです。




最後に「他プロジェクトのビルド後にビルド」を設定しておきます。
前回作成した「[コンパイル→WAR作成→アプリケーションサーバにデプロイ]を行うHudsonジョブ」の実行後に、
今回作成した「[いろいろなブラウザでのユニットテスト]を行うHudsonジョブ」が実行されるようになります。