如何在VS2010中的MSUnit测试中配置Fluent NHibernate和Log4Net

时间:2012-01-10 20:17:40

标签: nhibernate fluent-nhibernate log4net

我正在尝试将我的Fluent NH应用程序配置为将sql写入调试窗口,或者更好地将其写入我的Unit Test项目中的日志文件。问题是,到目前为止,我只能通过在单个单元测试中添加以下行来使其工作

        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()不会在我的Debug Output窗口中放置任何内容。 :(

1 个答案:

答案 0 :(得分: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
}