2012-01-10 6 views
0

Fluent NHアプリケーションをデバッグウィンドウに書き込むか、単体テストプロジェクトのログファイルに書き込むように設定しようとしています。問題は、これまで私は、私はAssemblyInfo.csではなく、noに以下を入れてみましたVS2010のMSUnitテストでFluent NHibernateとLog4Netを設定するには

 var logconfig = new System.IO.FileInfo(@"App.config"); 
     if (logconfig.Exists) 
     { 
      log4net.Config.XmlConfigurator.ConfigureAndWatch(logconfig); 
     } 

個々のユニットテストで次の行を置くことによって動作するようにそれを得ることができましたということです私は本当に私はユニットテストを実行するたびに、私のSQLをログファイルに記録されたばかり起こる見てみたいと思い何

[assembly: log4net.Config.XmlConfigurator(Watch = true)] 

役に立ちます。


P.S. - 現在、ShowSql()を使用しても、デバッグ出力ウィンドウに何も配置されません。 :(

+0

でログインを初期化する静的コンストラクタで基本クラスを使用するには、あたりに、はい 'log4net.Config.XmlConfigurator.ConfigureAndWatch()'個々のテストは、それをログに? – Firo

+0

ありません私がログファイルを渡す場合、それはログに記録されますが、私はそのコードをコピーせずにNHibernateを呼び出す任意のテストのためにそれを設定できるようにしたいですか? – Steven

+0

私の質問は "App.config"最初のメソッドがなぜログを記録するのかここでキーを押します。静的コンストラクタに入れることができるすべてのテストのベースクラスがある場合 – Firo

答えて

1

私は成功

public abstract class TestsBase 
{ 
    static TestsBase() 
    { 
     var logconfig = new System.IO.FileInfo(@"App.config"); 
     if (logconfig.Exists) 
     { 
      log4net.Config.XmlConfigurator.ConfigureAndWatch(logconfig); 
     } 
    } 

    // additional stuff here 
} 
+0

これは私にとってはうまくいくものの、「通常の」アプローチがMSユニットテストではうまくいかないことを苛立たせました。テストフレームワークをアップグレードする必要があります。 – Steven

+0

私のためには、インストールしなければならないテストフレームワークと多くの設定が必要です。 – Firo

関連する問題