TOPシステム開発> 第3回:テストケースの作成と自動化 (2/3)

DBunitでテストの自動化

DBunitでテストの自動化

第3回:テストケースの作成と自動化

著者:プロトシステム 広谷 嘉巳

公開日:2008/03/31(月)

テストケース作成手順

では、テストケースを作成していきましょう。

まず、テストクラスには基底クラスのDaoBaseTestCaseを継承させます(リスト1)。

次に、DaoBaseTestCaseで宣言されている抽象メソッド「getTestFileName」「getTestFileName」「getSubClass」を実装します(リスト2)。

getTestFileNameは、テストデータExcelファイルの名称を指定します。getExpectedTableは、テスト結果として期待されるデータを取得します。getSubClassは、自分自身の実行時クラスを指定します。

登録(更新)系のテストで、期待値とデータベースに登録されているデータの比較をする際、期待値を予測できないカラム(例:「更新日時」など現在日時が設定されるカラム)が存在する場合は、DaoBaseTestCaseクラスのisSkipColumnメソッドをオーバーライドし、比較しない(スキップする)カラムを指定します(リスト3)。

スキップするカラムが存在しない場合、isSkipColumnメソッドはオーバーライドする必要はありません。

最後にテストメソッド(testXxx())を作成し、テストコードを記述します。登録(更新)系は、登録(更新)後のテーブルの値とExcelシートのデータを比較します(リスト4)。検索系は検索結果が正しいかどうかをEntityとExcelシートで比較します(リスト5)。

このように、データベースに登録されているデータを取得する機能など、あらかじめテストケース作成の際に必要な機能を基底クラスで用意しておけば、大変便利でしょう。

上記の機能を踏まえたサンプルソース「SampleDaoImplTest.java」は以下からダウンロードできます。

サンプルプログラム
ZIPファイル SampleDaoImplTest.zip (ZIPファイル/1.08KB)

DBUnitはAntタスクを利用すれば単体テストの実施などが自動化されます。では次に、Antタスクによる単体テストの自動化について解説していきましょう。

図2:テストケース作成手順
(画像をクリックすると別ウィンドウに拡大図を表示します)

Antタスクで自動化

DBunitはAntタスクが用意されていて、Antから呼び出して使用することができます。Antタスクを作成しておくと、すべてのテストケースのコンパイルと単体テストの実施、またテスト結果のHTML形式レポート出力が一度に行われるので大変便利です。 次のページ


前のページ  1   2  3  次のページ


株式会社ビーサンク  広谷 嘉巳
著者プロフィール
株式会社ビーサンク  広谷 嘉巳
Javaを使ったシステム開発に従事し、オブジェクト指向での設計から開発を得意としている。以前はデザインパターンを取り入れたクラス設計やリファクタリングでのコードの体質改善という作業も行っていた。自分の力がまだまだと自覚しており、JavaやUMLの資格も積極的に取得している。仕事の傍らスキー1級やスノボ、テニス、また、野菜ソムリエ取得やフランス料理学校に通うなど、仕事よりも趣味の方に重きを置いているのが玉に瑕。
http://bexank.co.jp/


INDEX
第3回:テストケースの作成と自動化
  基底クラスとは?
テストケース作成手順
  Antタスクサンプル