0

インメモリ hsqldb の既存のデータベースを使用して複雑なテストデータを生成する方法を知っている人はいますか? したがって、私のjunitテストは正しいデータの一部を使用できるようになります。

具体的な問題は次のとおりです。

コードを変更したときに統合が機能することを確認するために、既存のプロジェクトの junit テストを作成する必要があります (通常のテスト プロセス)。ただし、既存のデータベースは既に存在します。他のコンポーネントにサービスを提供するだけなので、db からデータを提供するサービスを「ただ」持っています。

しかし、データベース全体を hsqldb にロードすると、メモリが大量に消費されます...そのため、テストできるデータの一部のみが必要です。テーブル間には多くの参照があります。

4

2 に答える 2

1

私はこの機能を使ったことはありませんが、dbunit にはあります。http://www.dbunit.org/faq.html#extract

私は dbunit を使用しており、気に入っています。独自に xml データ セットを作成するだけです。

于 2013-04-22T16:21:54.307 に答える
0

私の質問の解決策は次のとおりです。

  1. 既存の統合テストを実行し、SQL ステートメントをキャッチする
  2. ログに記録された sql ステートメントを実行する
  3. 実行されたSQLから挿入ステートメントを作成する
  4. 挿入ステートメントをインメモリ hsqldb に読み込みます

ヒントをくれた@CABに感謝します!

于 2013-05-27T06:59:23.130 に答える