JUnit入門その5[DBUnitの概要説明]Java、Eclipse、JUnitに関連した技術情報のブログです。ユニットテストスポンサードリンク前回エントリーでは「JUnit入門その4[Eclipse4.4のJUnitプラグインとDBUnitの併用(環境構築と基本)]」と題してDBUnitをEclipseで動作させるための環境構築の説明をさせていただきました。順番が逆になってしまったのですが、本エントリーでは、DBUnitの概要説明をさせていただきます。本エントリーの内容は以下の通りです。DBUnitとはDBUnitの概説JavaでDB関連のコードのユニットテストを行うためのライブラリです。一般的にはJUnitと併用することが多いと言え、JUnitとの親和性が高いです。DBUnitでは、JUnitの4系から導入されたアノテーション(@Before、@After等)を利用することを前提としていますので、違和感なくJUnitとDBUnitを併用したテストケースが実装可能です。前提値データをDBにセットアップ可能XMLやExcelファイルで作成された前提データをDBにセットすることが可能です。前提値データ(Excelファイル)の作成例は後述させていただきます。DBUnitがデータをセットアップする時に、DBに登録されているデータと前提値データをどう扱うかは以下のオプションで指定可能です。前提値データで指定されているテーブルから、前提データで指定されている行を削除する。前提値データで指定されているテーブルに登録されているデータを全て削除する。DatabaseOperation.DELETE_ALL実施後に、前提値データをインサートする。前提値データをインサートする。一意制約違反となるデータが既に登録されている場合は例外が発生する。前提値データでアップデートする。前提データのキーに対応するデータが登録されていない場合は例外が発生する。前提値データでアップデートorインサートする。期待値データ(前提値データと同じ形式のファイル)を作成し、DBUnitの機能を利用することで、DBに格納されているデータと期待値データが同じであるかを検証します。値が異なっていればテスト失敗となります。期待値データに記載されているテーブルとカラムとそれに対応する値のみが検証の対象となります。検証を行いたくないカラムは期待値データに記載しなればOKです。応用的な使い方をすれば、期待値データに存在するカラムのデータを検証から除外する事も可能となっています。前提値と書いてありますが、期待値データの作成方法も全く同じです。例として「USERTBL」、「DEPARTMENTTBL」の2テーブルのデータを含む前提値データを例として説明させていただきます。Officeで取得した物となっています。上記の画像の通り、シート名にテーブル名を指定します。「USERTBL」、「DEPARTMENTTBL」の2テーブルの前提値データですので対応するシートが存在しています。各シート内で、対応するテーブルのカラムとデータを指定します。同じように「DEPARTMENTTBL」シートでも対応するテーブルのカラムとデータを指定します。テーブルのカラムは全て記載する必要はございません。DBにインサート文を発効できる情報さえあればOKとなります。Null制約が付与されたカラム等は、カラムと対応する値を指定する必要があります。DBUnitが処理するシートの順番は、左から右となりますので、DBで参照整合性を利用している場合はシートの順番を適正にする必要があります。DBUniを利用したユニットテストの概要DBUniの概要は前述の通りですが、文字だけでは分かりにくいと思いますので、図を利用してテストの流れを説明させていただきます。検索系の処理のテストの流れ前提値データを用意し、DBUnitを利用してDBに値をセットアップ後、テスト対象のDBアクセスロジックを利用して検索を実施、JUnitのAssertを利用して検索結果を検証する。検証時の期待値は、前提値データから明白ですので、値をリテラルで記述します。更新系の処理のテストの流れ前提値データを用意し、DBUnitを利用してDBに値をセットアップ後、テスト対象のDBアクセスロジックを利用してDBの更新を実施、DBUnitの検証機能を利用して、DBの値と期待値データが一致するかとの検証を行う。JUnit入門その5[DBUnitの概要説明]は以上です。JUnit入門その6[Eclipse4.4のJUnitプラグインとDBUnitの併用(便利に利用するためのユーティリティの作成)]に続くスポンサードリンク関連記事Eclipse(4.3,4.4)の使い方[パースペクティブのツールバーのカスタマイズ(「コマンド・グループ可用性」と「ショートカット」タブ)]「パースペクティブのカスタマイズ」画面には、以下の4つのタブが存在しております。API」が利用できるようになりました。C#では一足早く記事を読むJUnit入門その8[Eclipse4.4のJUnitプラグインのテストケースのカバレッジをEclEmmaを利用して測定してみる]今回は「EclEmma」を使って、テストのカバレッジの測定を行うエントリーとなります。Eclipse[3:クラスに関する基礎知識(クラスとインスタンスとパッケージ)]Javaといえば、「オブジェクト指向」とのイメージがとっても強いですよね。Typeの説明をさせていただきます。4.4記事を読むSelenium入門その6[Selenium3でWebDriver(Java/Junit4)の環境を作成しEdge,Chrome,Firefoxで確認してみる]Selenium3も3.0.1がリリースされましたし、今後は本格的にSelenium3が利用されてい記事を読むEclipseの使い方(Windows環境のEclipse4.3、Eclipse4.4)Eclipse4.4.0よりJDK8を正式サポートするそうです。コメントをキャンセルメールアドレスが公開されることはありません。(4.7.1)を利用してJUnit5の公式ガイドの内容を実践してみる。JUnit5が本格的に利用できる環境が整ってきました。RSSWordPress.orgJUnit入門その5[DBUnitの概要説明]Java、Eclipse、JUnitに関連した技術情報のブログです。