JUnit

DBUnitでデータベースのデータ追加・更新・削除のテストを実施してみた

DBUnitというツールを利用すると、データベースのデータ検索だけでなく、データ追加・更新・削除のテストも実施できる。今回は、DBUnitにより、データ追加・更新・削除のテストを行うサンプルプログラムを作成してみたので、共有する。

前提条件

下記記事の実装が完了していること。

DBUnitでテストデータを追加後にデータ検索メソッドのテストを実施してみたDB接続に関するテストをJUnitで実施するには、DBUnitというツールを利用すると、テストメソッドを実行する前に、データを追加したり...

作成したサンプルプログラムの内容

作成したサンプルプログラムの構成は以下の通り。
サンプルプログラムの構成
なお、上図の赤枠のうち、今回テスト対象となるUserDataMapperクラスのSQLファイルが「UserDataMapper.xml」で、「UserDataTestUpdate.java」がテストを行うプログラムとなる。

テスト対象となるUserDataMapperクラスのSQLファイルの内容は、以下の通り。今回はcreate, update, deleteByIdメソッドがテスト対象となる。



また、create, update, deleteByIdメソッドをテストするテストプログラムの内容は、以下の通り。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/java/tree/master/junit-dbunit-updatedb/demo



作成したサンプルプログラムの実行結果

まずは、createメソッドをテストするメソッド「userDataMapperCreateTest」を実行した結果は以下の通り。
プログラム実行結果(create)

なお、テストクラスの固有のメソッドのみをテストする場合は、以下のように、テスト対象のメソッドの実行を選択する。
メソッド単位のJUnitの実行

さらに、createメソッドをテストするメソッド「userDataMapperCreateTest」を実行した後のテーブルの内容は以下の通り。下図の赤枠のデータが追加されることが確認できる。
データ追加後のDB

次に、updateメソッドをテストするメソッド「userDataMapperUpdateTest」を実行した結果は以下の通り。
プログラム実行結果(update)

また、メソッド実行後のテーブルの内容は以下の通り。下図の赤枠のデータが更新されることが確認できる。
データ更新後のDB

さらに、deleteByIdメソッドをテストするメソッド「userDataMapperDeleteTest」を実行した結果は以下の通り。
プログラム実行結果(delete)

また、メソッド実行後のテーブルの内容は以下の通り。ID=2のデータが削除されることが確認できる。
データ削除後のDB

要点まとめ

  • DBUnitというツールを利用すると、データベースのデータ検索だけでなく、データ追加・更新・削除のテストも実施できる。