2012-01-10 26 views
0

我想配置我的Fluent NH應用程序,以將sql寫入調試窗口或更好地寫入我的單元測試項目中的日誌文件。問題是,到目前爲止,我只能夠得到它通過將以下線路中的各個單元測試如何配置VS2010中的MSUnit測試中的流利NHibernate和Log4Net

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

我試圖把在AssemblyInfo.cs中卻沒有下面的工作果

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

我真的很想看到發生的事情是我的SQL得到記錄到日誌文件中,每當我運行任何單元測試。


P.S. - 目前使用ShowSql()不會在我的調試輸出窗口中放入任何東西。 :(

+0

呢'log4net.Config.XmlConfigurator.ConfigureAndWatch()'在個別測試日誌呢? – Firo 2012-01-11 11:56:06

+0

是,每如果我傳遞日誌文件,它會記錄日誌,但是我希望能夠爲任何調用NHibernate的測試設置它,而不復制該代碼 – Steven 2012-01-11 21:13:16

+0

我的問題的目標是可能明確指定「App.config」的事實可能是關鍵在這裏,爲什麼第一個方法會記錄日誌如果你有一個基類的所有測試你可以把它放在它們的靜態構造函數中 – Firo 2012-01-12 05:47:11

回答

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 2012-01-13 14:24:05

+0

對我來說是一個需要安裝的測試框架,需要大量的配置才能工作,這一點值得我們拭目以待。 – Firo 2012-01-13 14:43:45

相關問題