1

現在、単体テスト用にNHibernateを使用してメモリ内のSQLiteデータベースを使用している単体テストフレームワークがあります。各単体テストは、独立性を確保するために独自のセッションで実行されます。ほとんどの場合、これはうまく機能しますが、テスト数が 150 に近づくにつれ、動作が少し遅くなり始めています。これの主な理由は、各テストの前にデータベースにかなりの量のデータを挿入する必要があるためです。

基本的に、私のアプリケーションはワークフロー アプリであり、ワークフローに関する多くの情報 (ステップ数、各ステップのフィールドなど) をデータベースに保存します。これがないとアプリケーションは実行できないので、私のテストには必要です。

この時点で、合計テスト時間の約 4 分が、各単体テストの前にデータベースにデータを入力するために費やされています。テストの実行ごとにこのデータの作成を 1 回行いたいのですが、セッションが閉じられるとインメモリ データベースが破棄されるため、方法がわかりません。助言がありますか?

4

1 に答える 1

4

事前に入力されたデータベースファイルを一時ディレクトリ(可能であればRAMディスク上)にコピーできます。

または、 SQLiteバックアップAPIを使用して、データベースの内容をメモリデータベースにコピーすることもできます。

于 2012-10-25T14:33:40.563 に答える