MySQLでテーブル定義
まず、DBUnitを使用するためにはデータベースが必要です。今回はMySQLを利用します(MySQLの設定は本連載では割愛いたします。「今からはじめるMySQL」やMySQLのWebサイトなどご覧ください)。また、今回はサンプルとして図3のテーブルを作成します。
(画像をクリックすると別ウィンドウに拡大図を表示します)
Excelファイルでのテストデータ
DBUnitのテストデータは通常XMLファイルを使用しますが、本記事では編集のしやすさから、Excelファイルを使用しましょう。テストデータのExcelファイルは初期化データと期待値データの2ファイルを用意します。初期化データはテストを実行する度にデータベースに設定される事前データです。期待値データはデータベースアクセス後の戻り値、およびデータベースの状態が期待通りか否かを確認するデータです。
期待値データファイルはテストメソッドごとにシートを作成します。シートのフォーマットは、シート名に「テーブル名+インデックス」、シートの1行目に列名、2行目以降にデータを記述してください(図3)。
Excelファイルを読み込む場合は、XlsDataSetというクラスを使用します。XlsDataSetはJakarta POIが必要となります。Jakarta POIとは、JavaからExcelやWordといったMicrosoftOLE2ドキュメントを操作できるライブラリです。
Jakarta POIはThe Apache POI Projectよりダウンロードしてください。最新のバージョンは2008年2月現在で3.0.2です。poi-bin-3.0.2-FINAL-20080204.zipファイルをダウンロードしましょう。
ZIPファイルを解凍すると、poi-3.0.2-FINAL-20080204.jarが含まれていますので、クラスパスを通してください(クラスパスの通し方は、前ページのdbunit-2.2.jarの設定と同じ要領です)。
以上でDBUnitを利用する準備ができあがりました。次回はいよいよテストケースを作成してDBUnitを使ったテストを行っていきます。また、DBUnitを拡張した基底クラスやAntでテストの自動化も解説します。お楽しみに。