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

CSVの保存、文字列としての出力

前回のエントリーではJSfでのCSVダウンロードについて書きましたが、実際にCSVの配列を作る処理について書きます。 CSVのアップロードの時に使ったのと同じCommonsCSVを使います。 Cont …

no image

データベース設計のアンチパターン リトライ+バッチ分割+バッチの再利用不可

Contents1 リトライ1.1 デメリット1.2 対策2 バッチ分割2.1 デメリット2.2 対策3 バッチ再利用不可3.1 デメリット3.2 対策 リトライ ※OLTP=オンライントランザクショ …

no image

mavenでJavadoc出力

Netbeansでプロジェクトから右クリックでjavadocの生成はできますが、実はmavenでビルドするときにJavadocを生成できます。 ただ出力するだけではなくてパラーメータをいろいろとセット …

no image

Javaでのメール送信プログラム

Javaでメール送信のプログラムがあったんで、メモ。 SMTPの認証とかはせず一番簡単なパターンです。 ケースでいうとサーバーA、サーバーBがあり下記のようなケースです。 A メールサーバー(smtp …

no image

フィールド以外のプロパティをエンティティに持たせる

JPAでは基本的に1テーブル、1クラスです。 このためプロパティは必然的にテーブルのフィールドに対応しています。 ただ、必ずしもプロパティだけでなく、臨時で持たせておきたい、プロパティがあったりします …