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

JSPでのインクルード

JSPで社内アプリを作る機会があったので、メモ。 基本的なこともまだわかっていないんですが、とりあえずでてきたものから紹介してきます。 インクルードから。 ヘッダー、フッターみたいな別々に分けたりする …

no image

Firebaseでのミニアプリデプロイ

KVS的なDBを使うかもしれず、firebaseの復習をしております。以前、firebaseのサンプルなどちょこちょこ動かしましたが、firebaseに登録をしただけでデプロイまではしておりませんでし …

no image

herokuでMySQL

昨日に続き、heroku+MySQLのメモです。 herokuはディフォルトではPostgreSQLですが、アドオンを使うとMySQLも使えるようになります。 使い方ですが、herokuの管理画面でク …

no image

DBの構造について メモリとHDD

データベースについてまたまた学習中。 覚えておきたいポイントなど。 データを収めておくべき媒体では「記憶コスト(単位金額当たりの容量)」と「アクセス速度」の2つが重要なパラメータ メモリとHDDでは前 …

no image

cakePHPでの直SQL

今回はCakePHPにて直のSQLを書く方法を。 cakePHPにて大概の処理はもともと備わっているコマンドでなんとかなりますが、まれに直SQLを書いたほうがらくなこともあります。 書き方その1 [c …