NUuit测试

using System.Reflection;
using NHibernate.Cfg;
using NUnit.Framework;

namespace DDLLY.MyDoc.NHibernateTest.ConfigurationTest.Test
{
    /// <summary>
    /// 测试加载映射文件的类
    /// </summary>
    [TestFixture]
    public class ConfigMappingFixture
    {
        #region SetUp和TearDown

        [SetUp]
        public void SetUp()
        {
            //添加名为LLY,密码为123456的用户,因为这是数据库的第一条记录,所以数据库标识为1
            string SetUpSql = "INSERT INTO users([UserName],[Password]) VALUES('LLY','123456')";
            TestHelper.SqlExecuteNonQuery(SetUpSql);
        }

        [TearDown]
        public void TearDown()
        {
            //清空users表,并把标识(identity)清零
            string TearDownSql = "TRUNCATE TABLE users";
            TestHelper.SqlExecuteNonQuery(TearDownSql);
        }

        #endregion

        #region 使用配置文件配置映射的测试

        /// <summary>
        /// 测试使用配置文件中配置的程序集加载映射文件
        /// 
        /// <!-- 映射文件 -->
        ///<!-- 程序将加载DDLLY.MyDoc.NHibernateTest.Configuration命名空间所有的映射文件(*.hbm.xml)-->
        ///<mapping assembly="DDLLY.MyDoc.NHibernateTest.ConfigurationTest" />
        /// 
        /// </summary>
        [Test]
        public void TestConfigMappingUseFile1()
        {
            //配置Configuration
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernate.cfg.xml");

            //测试
            TestHelper.CheckConfiguration(cfg);
        }

        /// <summary>
        /// 测试以文件形式加载映射文件,使用配置文件中的配置
        /// 
        ///<!-- 映射文件 -->
        ///<!--程序将加载指定的文件-->
        ///<!--这种写法将加载和可执行程序的路径中的User.hbm.xml文件-->
        ///<!--在Visual Studio把生成的可执行文件放在bin\Debug和bin\Release中-->
        ///<!--所以此文件也要放在这两个目录中-->
        ///<mapping file="User.hbm.xml" />
        /// 
        /// </summary>
        [Test]
        public void TestConfigMappingUseFile2()
        {
            //配置Configuration
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernate1.cfg.xml");

            //测试
            TestHelper.CheckConfiguration(cfg);
        }

        /// <summary>
        /// 测试加载资源文件作为映射文件,使用配置文件中的配置
        /// 
        ///<!-- 映射文件 -->
        ///<!--程序将加载指定的文件-->
        ///<!--这种写法将加载加载资源文件-->
        ///<mapping resource="DDLLY.MyDoc.NHibernateTest.ConfigurationTest.User.hbm.xml" assembly="DDLLY.MyDoc.NHibernateTest.ConfigurationTest" />
        /// 
        /// </summary>
        [Test]
        public void TestConfigMappingUseFile3()
        {
            //配置Configuration
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernate2.cfg.xml");

            //测试
            TestHelper.CheckConfiguration(cfg);
        }

        #endregion

        #region 使用程序代码配置映射的测试

        /// <summary>
        /// 测试在代码中加载映射文件,使用程序集
        /// hibernate3.cfg.xml中未设置映射类信息使用代码添加
        /// </summary>
        [Test]
        public void TestConfigMappingUseCode1()
        {
            //配置Configuration
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernate3.cfg.xml");

            //加载程序集中所有映射文件
            cfg.AddAssembly(Assembly.GetExecutingAssembly());

            //测试
            TestHelper.CheckConfiguration(cfg);
        }

        /// <summary>
        /// 测试在代码中加载映射文件,使用类
        /// hibernate3.cfg.xml中未设置映射类信息使用代码添加
        /// </summary>
        [Test]
        public void TestConfigMappingUseCode2()
        {
            //配置Configuration
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernate3.cfg.xml");

            //加载和类对应的映射文件
            cfg.AddClass(typeof (User));

            //测试
            TestHelper.CheckConfiguration(cfg);
        }

        /// <summary>
        /// 测试在代码中加载映射文件,使用文件
        /// hibernate3.cfg.xml中未设置映射类信息使用代码添加
        /// </summary>
        [Test]
        public void TestConfigMappingUseCode3()
        {
            //配置Configuration
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernate3.cfg.xml");

            //加载和类对应的映射文件
            cfg.AddFile("User.hbm.xml");

            //测试
            TestHelper.CheckConfiguration(cfg);
        }

        #endregion
    }
}


你可能感兴趣的:(NUnit)