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




DBunitでテストの自動化

DBunitでテストの自動化

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

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

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

基底クラスとは?

第2回:DBUnitのインストール」では、DBUnitをインストールしてテストデータを作成する事前準備について解説しました。最終回の今回はテストケースを作成する手順について解説していきましょう。

まずは、テストケース作りの労力を軽減するために基底クラスを作成しましょう。抽象基底クラスは、dbunit.jarに内包されているTestCaseを継承した各テストクラスのベースとなるクラスです。個別のデータベーステストケースは、このベースクラスを継承して作成します。今回は、抽象基底クラスの名前をDaoBaseTestCaseとします。

DaoBaseTestCaseは、テストデータExcelファイル(xxx_prepare.xls)からIDataSetオブジェクトを生成し、テストデータとして使用します。テストの実行前にこのテストデータが自動的にデータベースに反映されることになります。

基底クラスのサンプルは以下からダウンロードしてください。

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

事前処理の元データを退避し、テストデータを投入する機能や事後処理の元データを復元する機能、またはデータベースに登録されているデータを取得する機能などを、あらかじめ基底クラスに用意しておけば、基底クラスを継承して作成する各テストクラス作業が大変楽になります。

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

DaoBaseTestCaseクラスのAPIについて

ここで、DaoBaseTestCaseクラスのAPIについて、それぞれみていきましょう。

getConnectionは、DBコネクションを取得するメソッドです。getActualTableは、データベースに登録されているデータを取得するメソッドとなります。

getExpectedTableは、テスト結果として期待されるデータを取得するメソッドです。getTableRowCountは、データベースに登録されているデータ件数を取得するメソッドとなります。

assertTableは、期待値とデータベースに登録されているデータの比較をするメソッドです。isSkipColumnは、assertTableメソッド実行時に、比較をスキップするカラム名を指定するメソッドとなります。

assertEntityは、期待値とEntityデータの比較をするメソッドです。getTestFileNameは、テストデータExcelファイルの名前を取得するメソッドとなります。

getExpectedTableは、期待値データを取得するメソッドです。getSubClassは、サブクラスの実行時クラスを取得するメソッドとなります。

では、今作成した基底クラス使ってテストケース作成してみましょう。 次のページ


1   2  3  次のページ


株式会社プロトシステム  広谷 嘉巳
著者プロフィール
株式会社プロトシステム  広谷 嘉巳
ソリューション第二事業部 テクニカルマネージャー
Javaを使ったシステム開発に従事し、オブジェクト指向での設計から開発を得意としている。最近は設計中心でプログラミングは行っていないが、以前はデザインパターンを取り入れたクラス設計やリファクタリングでのコードの体質改善を中心に作業していた。しかし、自分の力がまだまだと自覚しており、現在もJavaやUMLの資格を積極的に取得し、日々勉強中。というか、奮闘中!
http://www.prsys.jp/


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第3回:テストケースの作成と自動化
基底クラスとは?
  テストケース作成手順
  Antタスクサンプル
サービスを守るネットワーク監視
第1回 Javaの単体テストツールDBUnitって何?
第2回 DBUnitのインストール
第3回 テストケースの作成と自動化