0.8.0URL:http://works.dgic.co.jp/djunit/index.htmlライセンス:GPLdjUnitは作成したテストコードを基にカバレッジレポートを生成します。カバレッジレポートを生成することにより、コード内部の条件判定や分岐処理などのバグの潜在する可能性が高いコード部分が正しくテストされているかどうか、テストの網羅性という観点から容易に検証することが可能です。Objectが提供されています。Objectを利用することで、外部リソースとの依存関係の強いソースコードに対し、JUnitのテストコード生成が容易となります。Objectの機能に注目しながら説明したいと思います。ソフトウェアの品質向上を支援するプラグイン」のdjUnitを参照ください。特徴djUnitの特徴は以下になります。・JCoverageによるレポート生成機能djUnitはJCoverageの機能を利用して、Eclipse上でカバレッジ結果を表示することができます。テストが実行されていないコード部位をJavaエディタ上に表示します。これにより、テスト漏れが発生した原因を容易に確認することができます。Objectを利用したテストテスト対象クラスがほかのクラスに依存するような場合、通常は依存クラスのモック(またはスタブ)クラスを作成し、テストを実行します。この場合、テスト対象クラスの内容によっては、テスト条件に合わせたスタブを複数作成したり、環境に合わせた複雑な設定などをモッククラスとして作成したりと、テスト実施者にとっては、テスト作成において非常に大きな作業ボリュームになります。Objectsを利用することで、テストを容易に実施することが可能になります。簡単な例を挙げて上記の説明を行います。・モックを使用したテストクラスAがクラスBに依存するような場合、依存するクラスBをモッククラス(スタブクラス)として、作成します。このとき、モッククラスはテスト条件に合わせて複数作成する必要があります。クラスの仕様変更や環境の変更が入る場合には、テストクラスと同様にメンテナンスの対象となります。このため、テスト実施者の作業負担がかなり大きいものになります。Objectが提供するテストメソッドを呼び出し、テスト条件に合わせたテストデータを引数として与えるだけでテストを実施することができます。モックの作成、およびメンテナンス稼働を削減することができます。ソフトウェアの品質向上を支援するプラグイン」のdjUnitを参照ください。Objectsを利用したテストコードの作成は、以下の手順にて行います。設定が有効になっていないため、使用する前に有効化する必要があります。作成したプロジェクトを選択した状態で右クリックし、コンテキストメニューから[プロパティー]を選択してください。プロパティダイアログの左のツリーから[djUnit]を選択します。使用する]のチェックボックをチェックします。設定と同様にプロジェクトのプロパティダイアログを表示します。プロパティダイアログの左ツリーから[Javaのビルドパス]を選択し、djUnitのプラグイン配下に含まれているdjunit.jarファイルを追加します。Objectsを利用したdjUnitのテストコードを作成します。以下では簡単な例として、大人と子供の人数を入力すると、合計金額を出力するクラスに対してテストコードを作成します(図15:PreOrderクラス参照)。このクラスでは、金額計算のプライベートメソッドにて、外部リソースを呼び出しています。Objectsを利用し、外部リソースと分離した形でテスト対象クラスをテストします(図16:PreOrderTestクラス参照)。実行したいdjUnitテストケースを選択した状態で、右クリックを行い、コンテキストメニューから[実行]→[djUnitテスト]を選択します(図17)。実行結果としてカバレッジレポートのほか、JUnitビューにテストの実行結果が表示されます。今回は、JUnitによる単体テストを支援するツールを紹介してきました。次回はテストの品質をさらに一歩改善するに当たって有効な機能テストに関するツール群を紹介します。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。