山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

DBUnit

データベースアプリケーションのテストはなかなか

難しいものがあります。

もともとテスト用DBに入っているデータを使って

しまうと誰かがそのデータを更新した場合に

テストが通らなくなります。

結果的に自動テストを流しても、問題なくても

エラーばかりになってしまい、継続的な自動テストが

意味をなさなくなります。


そこで、テストをするときには最初にそのテストだけで

使うテストデータを投入し、そのテストの終わりで

削除して元に戻すようにします。

そうなると今度はテストデータを作るのが大変です。

リレーションシップがいろんなテーブルにあると

関連しているもの全部テストデータを作る必要が

出てきます。

これをSQLのinsert文で書くのはなかなか大変です。

メンテナンスも大変です。

何番目が何のフィールドだっけ?ということを常に

考えながらいち、に、さん、などと数えながら

値を変えたりしないといけません。


こういった作業を楽にしてくれるのがDBUnitです。

使ってみましたが非常に便利です。

テストデータ投入と終わった後元に戻す作業を

自動的にしてくれます。

テストデータはXMLで書くのが基本のようですが、

CSVでもエクセルでもいけます。

エクセルが使えるのがポイントが高いところです。

編集が一番やりやすいし、色をつけたりメモを入れたりも

できます。


一点使用上の注意があるので追ってコード例とともに

紹介したいと思います。