skillup

技術ブログ

Database Java

dbUnitの使い方

投稿日:

えーJavaで有名なテストツールDBUnitについて。

DbUtilではありませんので間違えないように。(私は最初間違えました・・・)

まだ全然使い込んでるわけではありませんがどんなことができるかというと

  1. 今あるデータを一度バックアップをとり、初期化して事前データ(エクセルで定義)データを入れられる
  2. テストが終わったら、事前データとしていれたデータを削除し、バックアップをリストアできる
  3. 対象となるデータがエクセルで用意した期待データと等しいかをチェックできる。

他にもいろいろあるとは思いますが、私が調べたのはこんなところです。

インストール

まずはインストールからpomでそのままいけます。

dbunitだけではなく、必要となる周辺ライブラリも合わせてインストールしておきましょう。

ソース

ちなみにエクセルやxmlのパスはsrc/main/resources直下です。

説明はほぼコード上のコメントに集約されているかと思います。

注意点

  •  もとからあるデータをバックアップしてからリストアするまでに処理が失敗するとリストアされません。
    例外時にリストアのメソッドをいれておかないと面倒です。
  • 事前データとして入力する日付の値はyyyy/MM/ddにしておきましょう。
  • 期待値のエクセルでは日付をyyyy-MM-ddにしておき、文字列にしておかないとダメです。日付だと自動でyyyy/MM/ddになってしまいます。

参考情報

http://code-examples-ja.hateblo.jp/entry/2014/12/11/DBUnit%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%80%81XML%E3%81%8B%E3%82%89%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%93%E3%81%A0%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB

http://genesis-tdsg.blogspot.jp/2013/07/dbunit_24.html

http://javawock.blog.shinobi.jp/java-%20dbunit/dbunit%E3%81%A7excel%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E6%99%82%E3%81%AE%E6%97%A5%E4%BB%98%E3%82%AB%E3%83%A9%E3%83%A0%E3%81%8Ctypecastexception

http://kechanzahorumon.hatenadiary.com/entry/2012/09/11/122847

http://www.masatom.in/pukiwiki/Java/DBUnit/Excel%A5%B7%A1%BC%A5%C8%A4%C7Import,Export%A4%B9%A4%EB/

 http://www.amazon.co.jp/%E7%B5%8C%E9%A8%93%E3%82%BC%E3%83%AD%E3%81%A7%E3%82%82%E3%81%A7%E3%81%8D%E3%82%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E7%8F%BE%E5%A0%B4%E3%81%AE%E5%8D%98%E4%BD%93%E3%83%86%E3%82%B9%E3%83%88-%E7%89%87%E6%A1%90-%E4%B8%80%E5%AE%97/dp/4798118915

-Database, Java
-,

執筆者:


comment

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

関連記事

no image

第二、第三の正規化&ER図&Check制約

前回第一正規化を話したので、第二、第三に進んでいきます。 Contents1 第二正規化とは?2 第三正規化とは?3 正規化のメリット4 ER図5 本日のSQLネタ Check制約 第二正規化とは? …

no image

NULLについて

「達人に学ぶSQL徹底指南書」を読み進めていきましたがNULLについていろいろ書いてあるのでメモリます。 Contents1 NULLには未知と適用不能の2パターンがある2 = NULL が使えず I …

no image

型情報の取得・活用について

Javaで抽象度の高い実装を行うときに必要となる型情報の活用法について。 できるとできないとでプログラムの応用範囲が変わってくるのでメモっときます。 こちらのエントリーと合わせて読むといいと思います。 …

no image

MariaDBインストール

CentOS7からはyumでmysqlをインストールするとMariaDBがディフォルトになるようです。 せっかくなので、これを機にMariaDBを使ってみました。といってもMySQLとほとんど一緒でし …

no image

リレーションを含んだテーブルでの副問い合わせ

本日はSQLネタです。 下記のようなテーブル構成があったときとします。 注文ヘッダと注文詳細は(1:N)とします。 ここで、product_id=5を含んだ注文ヘッダーレコードを取り出したいとします。 …