GUI+DBのユニットテスト④ Java
前回の続きです。
作成したユニットテストをHudsonで実行してみます。
Hudsonをサービスで実行している場合、GUIのユニットテストをHudson上で実行する事ができません。
サービスのプロパティから「デスクトップとの対話をサービスに許可」をONにしておきます。
以前に作ったbuild.xmlに合わせて、
プロジェクトのディレクトリ構成はこんな感じになっています。
GUI+DbUnitSample ├─bin ├─lib │ ├─commons-dbutils-1.3.jar │ ├─commons-lang-2.5.jar │ ├─beansbinding-1.2.1.jar │ └─DbUnitSample.jar ├─src │ └─sample │ └─SampleFrame.java ├─testdata │ └─SampleFrameTest │ └─init.xls ├─testlib │ ├─commons-collections-3.2.1.jar │ ├─commons-dbcp-1.4.jar │ ├─commons-pool-1.5.4.jar │ ├─dbunit-2.4.7.jar │ ├─h2-1.2.135.jar │ ├─junit-4.8.2.jar │ ├─poi-3.2-FINAL-20081019.jar │ ├─poi-contrib-3.2-FINAL-20081019.jar │ ├─poi-scratchpad-3.2-FINAL-20081019.jar │ ├─slf4j-api-1.6.0.jar │ ├─slf4j-ext-1.6.0.jar │ ├─slf4j-migrator-1.6.0.jar │ ├─slf4j-simple-1.6.0.jar │ ├─TEST-DbUnitSample.jar │ └─FEST-SwingLib │ ├─fest-assert-1.2.jar │ ├─fest-assert-1.2-sources.jar │ ├─fest-reflect-1.2.jar │ ├─fest-reflect-1.2-sources.jar │ ├─fest-util-1.1.2.jar │ ├─fest-util-1.1.2-sources.jar │ ├─jcip-annotations-1.0.jar │ └─jcip-annotations-1.0-sources.jar └─testsrc │ └─sample │ ├─FrameTester.java │ ├─GuiTestUtils.java │ └─SampleFrameTest.java └─dbcp.properties
新規ジョブを作成
以前に作ったジョブをコピーして作ります。
ジョブの設定を変更
基本的にコピーした設定をそのまま使います。
但し、SVNレポジトリURLやプロジェクトのルートフォルダ名は変更する必要があります。
build.xmlなどを置く
以前に作ったbuild.xml等をプロジェクト直下に置きます。
build.properties
build.xml
codeAnalysis.properties
codeAnalysis.xml
coverage.properties
coverage.xml
build.xml等は特に変更しなくてもイケルはずですが、
テスト/カバレッジ測定の除外クラスを変更したい場合は、
build.propertiesとcoverage.propertiesの定義を変更します。
Hudsonから実行してみる
実行方法は今までどおりです。
カバレッジも出力されています。
100%ですね☆-(ノ゚Д゚)八(゚Д゚ )ノイエーイ
FEST-Swingの公式ドキュメントを見るとJUnit拡張が提供されていて、
ユニットテストでエラーになった場合にスクリーショットを撮ることもできるみたいです。
時間が空いた時に試してみることにします。
Taking Screenshots of JUnit Test Failures
http://docs.codehaus.org/display/FEST/Taking+Screenshots+of+JUnit+Test+Failures