DbUnit

データベース版単体テスト

DbUnit ロゴ

開発過程におけるテストの重要性は言うに及ばないが、データベースと連携したテストはやりづらいと言う印象はあった。特に何度も何度も実行した結果、正しい動作をしている「かのように」見えてしまう場合もある。

また、開発中にあるのが最もスタンダードな一動作を行っただけで全体の動作が問題ないと思ってしまうケースだ。これらの問題を防ぐためには、確実な動作仕様を仕上げ、それに合わせたコーディングを準備するのが良い。

本日紹介するオープンソース・ソフトウェアはDbUnit、データベースに関する単体テストを自動化するソフトウェアだ。JUnit等に代表されるテストツールのデータベース版だ。

基本的な利用法としては、テスト実行前の状態を常に保てる事、テスト実行後の値の比較を自動化できる事にある。テスト実行前の状態を維持するのは、エクセルやXMLを利用できる。

テストクラスを作る若干の手間はあるが、テストが煩雑なDB周りだけに効率化は十分図れる。また、JUnitの拡張版なので、基本は同じだ。作り慣れればそう負担は大きくならないだろう。

確かにはじめは面倒かも知れない。だが、随時拡張されていくシステムにおいて常に発生するのがテストだ。更に各動作について保証していくのは難しい。はじめの手間を開発工数にどう盛り込むか、それが重要になる。