パスワードを忘れた? アカウント作成
477070 journal

shimashimaの日記: 単体テスト用DB 3

日記 by shimashima

単体テスト用のDBは何かないかとAcphe Derbyをさわってみたが、結局期待してきた機能は無かったのでHSQLDBを使うことになりそうだ。

Apache Derbyは普通に使う分には手軽でいいのだが、ストレージにデータをはき出すのが単体テスト用としては困る。HSQLDBはその点In Memoryモードがあるので、意識をせずに毎回初期化された状態になるのが単体テスト用途では使い勝手がよい。Apache DerbyはDBの内容が揮発しないので、意識的に毎回DROP TABLE処理を入れないといけないのだ。

使うDBは決まった。
後はテーブル作成とデータ投入の初期化処理を行うクラスをつくろう。Springに含まれているDatabaseTestだったかを参考にしてみよう。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2007年12月20日 23時44分 (#1269414)
    だめですか?

    結構実用できますよ、少なくともHSQLDBでテスト出来るものの代用程度に。
    • H2も調べてみたのですが、In MemoryモードがないのでApache derbyと同じ理由で落選しました。

      何かプロダクトを作るのであればH2はパフォーマンスがよいらしいので検討対象に入りますが、今回はあくまでもテスト用なので。CREATE TABLE文のメンテナンスも面倒くさいのにその上DROP TABLE文まで手動メンテナンスはいやですから。

      # 前のプロジェクトはCREATE TABLEすら、Hibernateを使って自動化されていたのでテスト用データのメンテナンスだけで
      # 済んでいたことはやはりすばらしかった。
      親コメント
typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...