*

JUnit入門その4[Eclipse4.4のJUnitプラグインとDBUnitの併用(環境構築と基本)]

公開日: : 最終更新日:2016/12/05 DBUnit, Eclipse, Java, JUnit ,


スポンサードリンク



JUnit入門その1[Eclipse4.4のJUnitプラグインの基本的な使い方]
JUnit入門その2[Eclipse4.4のJUnitプラグインのassertThatの使い方]
JUnit入門その3[Eclipse4.4のJUnitプラグインとMockフレームワークのJMockitの併用の基本]
と3回にわたってJUnitの説明をさせていただきました。

今回は、JUnitプラグインとDBUnitの併用(環境構築と基本)を説明させていただきます。
と言っても、JUnitの話題は今回は出てこないですが・・・

利用するDBは「Java DB」となります。

「Java DB」をEclipseから利用する方法に関しましては
Eclipseの「DBViewer」プラグインを利用して「Java DB」の環境を作成し、SQLを発行してみる
をご覧ください。

DBのスキーマや接続文字列は上記のエントリーと同じ物を利用します。

本エントリーの内容は以下の通りです。

  1. Javaプロジェクトの作成とDBUnitを動作させるために必要なライブラリの準備
  2. 前提データをデータベースにクリーンインサートするサンプルの説明


1 Javaプロジェクトの作成とDBUnitを動作させるために必要なライブラリの準備

必要なライブラリの準備

DBUnitを動作させるために必要なライブラリの準備を行います。
今回は、DBUnitで利用するデータとしてXLS形式のファイルを利用します。

DBUnitでは、XML形式のファイルも利用できますが、テストデータの可読性を考えるとエクセル形式のデータの方が格段に良いです。XLS形式であれば、Microsoftのエクセル(Excel)がインストールされていなくても、OpenOffice(オープンソース)がインストールされていればOKです。

と言う事で、DBUnitでXML形式のファイルをテストデータとして利用するためのライブラリをダウンロードします。

DBUnitのダウンロード

http://www.dbunit.orgにアクセスしDownloadをクリック

DBUnitのダウンロード

http://sourceforge.net/projects/dbunit/files/dbunit/2.4.9/にアクセスし、以下の画像の赤枠部分をクリックするとDBUnitのライブラリがダウンロードできます。
スクリーンショット 2015-02-13 16.17.36
なおDBUnitと他のライブラリの版数は現時点の物となりますのでご注意ください。

slf4jのダウンロード

dbunit-2.4.9.jarを利用するためには依存する以下のライブラリが必要となります。

  • slf4j-nop-1.7.10.jar
  • slf4j-api-1.7.10.jar

http://www.slf4j.org/download.htmlにアクセスし、以下の画像の赤枠部分をクリックするとDBUnitのライブラリがダウンロードできます。
スクリーンショット 2015-02-13 16.24.41
ダウンロードしたzipファイルを解凍すると、slf4j-1.7.10フォルダが作成され、その直下にslf4j-nop-1.7.10.jarとslf4j-api-1.7.10.jarが存在しますので、これを利用します。

なお、slf4j関連の2ライブラリが存在しない場合は、コンパイル時に
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
とのエラーが発生します。

poiのダウンロード

今回はXLS形式のテストデータを利用しますのでpoiのライブラリが必要となります。
http://poi.apache.org/download.htmlにアクセスし、以下の画像の赤枠部分をクリックするとpoiのライブラリがダウンロードできます。
スクリーンショット 2015-02-13 16.34.11

なお、poiライブラリが存在しない場合は、コンパイル時に

とのエラーが発生します。

Javaプロジェクトの作成と各種設定

Javaプロジェクトの作成

今回はDBUnitを利用して、テストデータをセットアップするだけの動作を実装しようと考えておりますので、DBUnitSetupとの名前でJavaプロジェクトを作成しました。

各種ライブラリをプロジェクトに追加

プロジェクトにlibフォルダを追加し、そのフォルダにdbunit-2.4.9.jar、slf4j-nop-1.7.10.jar、slf4j-api-1.7.10.jar、poi-3.11-20141221.jarをコピーします。
スクリーンショット 2015-02-13 17.11.01
前述のライブラリに加えて「Java DB」のJDBCドライバ用のライブラリderby.jarを追加も追加します。
スクリーンショット 2015-02-13 17.22.32

各種ライブラリをプロジェクトで参照

プロジェクトのルートを選択した状態でマウスの右クリックメニューの「プロパティー」をクリックします。
スクリーンショット 2015-02-13 17.26.35
「プロパティー」画面の「Javaのビルド・パス」を選択します。
スクリーンショット 2015-02-13 17.29.49
「Jarの追加」ボタンをクリックします。
スクリーンショット 2015-02-13 17.29.49
libフォルダに含まれる全てのjarを選択します。
スクリーンショット 2015-02-13 17.32.39
選択後に「OK」ボタンをクリックします。
スクリーンショット 2015-02-13 17.33.47
「プロパティー」画面で「OK」ボタンをクリックし変更を確定します。
スクリーンショット 2015-02-13 17.35.18
これでビルド・パスの設定は完了です。

2 前提データをデータベースにクリーンインサートするサンプルの説明

テストで利用するデータベースの説明

今回はデータベースとしては、「Java DB」を利用します。
データベースにUSERTBLテーブルを作成しておきます。
データベースへの接続情報は今回の例ではソースに直書きとします。
USERTBLテーブルの作成SQLは以下の通りです。

実際にはDBViewerパースペクティブを表示して上記SQLを実行します。
スクリーンショット 2015-01-31 20.44.05

前提データをデータベースにクリーンインサートする処理の説明

サンプルソース

データベースにテストデータをクリーンインサートするサンプルソースは以下の通りです。

33,34行目のDatabaseOperation.CLEAN_INSERT.executeにDBUnitのコネクション(IDatabaseConnection)とテストデータ(IDataSet)を渡して実行することにより、対象テーブル(USERTBL)の中身が削除された後に、テストデータとして指定されたデータがインサートされます。
テストデータのインサート前の選択肢としては、CLEAN_INSERT以外に、NONE、TRUNCATE_TABLEが存在します。

また、mainの第一引数の文字列をテストデータとしています。
今回の例では、プロジェクトにtestdataフォルダを作成し、その中にtestdata.xlsを格納し、この値をDBUnitSetupクラスの実行時の引数に指定します。
スクリーンショット 2015-02-13 19.51.20
実際のテストデータの中身は以下の通りです。
スクリーンショット 2015-02-13 19.53.04
少しみにくいですが、シート名がUSERTBLとなっており、この名前がDBのテーブル名として認識されます。
1行目にUSERTBLのカラム名を指定します。2行目以降が実際のテストデータとなります。
1行目のA列にname、B列にaddrを記載していますので、これがDBに存在するUSERTBLのカラム名として認識されます。
実行後のUSERTBLの値は以下のようになりました。
スクリーンショット 2015-01-31 20.57.30

以上で、JUnit入門その4[Eclipse4.4のJUnitプラグインとDBUnitの併用(環境構築と基本)]は終了です。

JUnit入門その5[DBUnitの概要説明]に続く


スポンサードリンク



関連記事

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[ビルド・クラスパスの順序およびエクスポート設定]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上の「ビルド・クラスパスの順序および

記事を読む

Java超入門 with Eclipse[1:Eclipse環境の作成とEclipseの使い方の説明]

「JDT betaを利用してJDK8(java 8)対応のEclipse開発環境を作成する」では、最

記事を読む

Eclipse(4.3,4.4)の使い方[パースペクティブのツールバーのカスタマイズ(「コマンド・グループ可用性」と「ショートカット」タブ)]

「パースペクティブのカスタマイズ」画面には、以下の4つのタブが存在しております。 ツール・バ

記事を読む

お勧め本紹介[新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)]

リファクタリング―プログラムの体質改善テクニック (Object Technology Series

記事を読む

JDK8(java 8)の新機能のラムダ式の利用方法[その3:java8が用意している関数型インターフェース]

[その2:関数型インターフェースを例としたラムダ式] と説明させていただいておりますが、

記事を読む

Selenium利用時のトラブルシューティング方法[クリック編]

Seleniumは便利なテスト自動化ツールですし、今後は更なる利用者の増加が見込まれます。 とは言

記事を読む

JUnit入門その5[DBUnitの概要説明]

前回エントリーでは「JUnit入門その4」と題してDBUnitをEclipseで動作させるための環境

記事を読む

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[ビルド・パス上のソース・フォルダー]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上のソース・フォルダーの利用方法を説

記事を読む

利用すると生産性が格段に向上する厳選Eclipseショートカット集

今回のエントリーは、利用すると生産性が格段に向上するEclipseのショートカット集となります。

記事を読む

Eclipse4.3のチュートリアル機能で”Hello World”アプリケーションの作成方法を説明する。

Eclipseのインストールが終了したので、各画面エリアの名称の説明、各画面エリアの使い方の説明を

記事を読む

Comment

  1. Link より:

    Since Eclipse already includes JUnit 4, it will automatically add it while creating a new test case, and you only need to get hold of the last four on the list. The last two dependencies are necessary because DbUnit uses

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Selenium入門その6[Selenium3でWebDriver(Java/Junit4)の環境を作成しEdge,Chrome,Firefoxで確認してみる]

Selenium3も3.0.1がリリースされましたし、今後は本格的にS

Selenium利用時のトラブルシューティング方法[クリック編]

Seleniumは便利なテスト自動化ツールですし、今後は更なる利用者の

Java8のラムダ式とStream APIを利用してコーディング量の削減サンプル集

Java8になりラムダ式と「Stream API」が利用できるようにな

Selenium入門その5[ページオブジェクトパターン(Page Object Design Pattern)を利用して変更に強いテストを作成する方法]

Selenium入門その2 では「UIマップファイル」と言う仕組みが

Javaによる非同期処理入門その1[非同期処理の実装方法の概説]

Javaによる非同期処理に関するエントリーを前々から作成したいと思って

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑