请注意添加:
<add key="show_sql" value="true" />关于log4net的使用,我们这里不做详细的讲解,有兴趣的请参考如下地址:
http://logging.apache.org/log4net/
接着,我们在上次的工程组中添加一个名为Test1的测试项目,将其中的不需要的手动测试去掉。请注意:除了NHibernate\Model引用外,还需要添加如下3个引用:
log4net,System.Data,System.Xml.
修改代码如下:
using System;
using System.Text;
using System.Collections;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NHibernate;
using NHibernate.Cfg;
using log4net;
using log4net.Config;
using Test.Model;
namespace Test1

{
/**//// <summary>
/// Summary description for UnitTest1
/// </summary>
[TestClass]
public class UnitTest1
{
static ISessionFactory factory;
static ILog logger;
ISession session;
public UnitTest1()
{
}

Additional test attributes#region Additional test attributes
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext) 
{
XmlConfigurator.Configure();
logger = LogManager.GetLogger(typeof(Test1.UnitTest1));
Configuration config = new Configuration().AddAssembly("Test.Model");
factory = config.BuildSessionFactory();
}
[ClassCleanup()]
public static void MyClassCleanup()
{ }
[TestInitialize()]
public void MyTestInitialize() 
{
session = factory.OpenSession();
}
[TestCleanup()]
public void MyTestCleanup() 
{
session.Close();
}
#endregion
}
}
我们在测试的开始对Configuration\SessionFactory\Log进行初始化。在每一个Test的开始获取一个新的session,每一个Test结束后即关闭session。