1

私は、データベースを一周する 2000 以上の統合テストを持つプロジェクトに取り組んでいます。プロセスをスピードアップしたいので、データベースを偽造してみませんか。

ORM として Fluent NHibernate を使用しているため、おそらくこのような問題が発生しています。この概念は、NHibernate ではなく基本的な CRUD 操作を使用するプログラムに既に実装されています。

基本的に、CRUD操作では、オブジェクトをメモリに保存して、辞書リストと言います。これにより、テストのプロセスが高速化され、ビルド時間が短縮されることが期待されます。クールな要素は言うまでもありません。

2 つの個別のセッションを用意し、セッション ファクトリでどちらか一方を使用することを検討しましたが、あまり気にしない多くのメソッド/プロパティを実装する必要があります。

私はまた、クラスで自分自身を翻訳する go between を使用することを検討していますが、おそらく既存のコードの多くを変更する必要があります。回帰テストが大きな要因にならないように、プロジェクトの残りの部分への影響を可能な限り制限しようとしています。

誰かが持っている他の提案を教えてください!

ありがとう!

4

1 に答える 1

1

SQLite インメモリ データベースを使用します。これが最初に私に方法を示したブログ投稿です...

http://jasondentler.com/blog/2009/08/nhibernate-unit-testing-with-sqlite-in-memory-db/

于 2013-03-28T15:52:14.677 に答える