0

NHibernateでは、show_sql単体テストを実行するためにオンにしました。私の各単体テストはデータベースをクリアして補充します。これにより、NHibernateに出力させたくないSQLクエリが大量に発生します。

show_sqlを破壊せずに制御することは可能SessionFactoryですか?可能であれば、テストのセットアップを実行するときにオフにし、テストの本体が実行を開始したときに再度オンにします。

これは可能ですか?

4

2 に答える 2

1

これを設定できる唯一の場所は、を構築するときNHibernate.Cfg.Configurationです。SessionFactoryから作成した後はConfiguration、構成設定にアクセスする方法がありません。これは、ファクトリパターンを使用する理由の1つだと思います。正常に構築されたインスタンスが実行時の再または設定ミス。

その機能が本当に必要な場合は、NHソースコードを入手して、show_sql設定が評価される場所を見つけてください。

于 2012-05-03T12:56:36.870 に答える
1

別のオプションは、NHProfを使用し、テスト時にNHProfを初期化することです。

NHProfは、使用されたクエリだけをログに記録/データベースをクリアすることはありません。

于 2012-05-03T13:46:09.263 に答える