*

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における自動ビルド設定の変更方法を説明させていただきます。 自動ビルド設定の変

記事を読む

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

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

記事を読む

Eclipseのインストールと日本語化とJDK8(Java8)対応[Eclipse4.4とEclipse4.3]

インストールするEclipseのバージョンですが、とりあえず4.3をターゲットとしておき、 4.4

記事を読む

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

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

記事を読む

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[JRAおよびクラス・フォルダー/ライブラリー]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上の「JRAおよびクラス・フォルダー

記事を読む

JUnit入門その8[Eclipse4.4のJUnitプラグインのテストケースのカバレッジをEclEmmaを利用して測定してみる]

今回は「EclEmma」を使って、テストのカバレッジの測定を行うエントリーとなります。 「djUn

記事を読む

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

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

記事を読む

Eclipseの「DBViewer」プラグインの使い方[前編]

「HyperSQL」の環境を作成し、Eclipseの「DBViewer」プラグインを利用してSQLを

記事を読む

Selenium入門その3[Selenium WebDriver(Java/Junit4)の使い方]

WebDriverでは、予め中継サーバを起動しなくても、テスト実行時にブラウザ拡張機能や、OSのネイ

記事を読む

Java8の新機能について

オラクルは2014年3月18日(日本時間3月19日早朝)に「Java 8」を正式に公開しました。

記事を読む

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

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

Spring5入門[STS(Spring Tool Suite)で簡単なWebアプリの典型的なユニットテストの実現方法]

前回は「Spring入門」で、Spring MVCを利用した簡単なWe

Spring5入門[STS(Spring Tool Suite)の環境作成と簡単なWebアプリの作成]

Struts1ももう過去の遺物になり、SAStrutsもEOLとなりも

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

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

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

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

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

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

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑