7

有没有人有让 MSTest 将 hibernate.cfg.xml 正确复制到输出目录的经验?我所有的 MSTests 都失败了,因为找不到 hibernate.cfg.xml 错误(我将它设置为 Copy Always),但我的 MBUnit 测试通过了。

4

5 回答 5

12

您可以尝试将 DeploymentItemAttribute 添加到您的测试之一,或者编辑您的 .testrunco​​nfig 文件并将该文件添加到部署列表中。

于 2008-08-21T15:07:13.223 回答
4

编辑 localtestrun.testrunco​​nfig(在您的解决方案项目文件夹中)。选择部署选项并将 hibernate.cfg.xml 文件添加到要部署的附加文件列表中。然后应该将该文件复制到运行测试的输出目录。

于 2008-11-11T11:05:32.000 回答
2

几周前遇到了同样的事情——这实际上是MSTest 的一个错误——我相信最近的Service Pack 版本已经纠正了这个问题(即使它仍然显示“活动”)。如果没有,我所要做的就是直接引用我的 hibernate.cfg.xml (草率但适用于测试——这是从“TestResults”文件夹中引用我的测试项目中的 hibernate.cfg.xml 文件):

 try
           {
                sessionFactory = new Configuration()
                    .Configure()
                    .BuildSessionFactory();
            }
            // Assume we are in "MSTest mode"
            catch (Exception)
            {
                sessionFactory = new Configuration()
                    .Configure(@"..\..\..\Program.Tests\" + @"\hibernate.cfg.xml")
                    .BuildSessionFactory();
            }
于 2008-10-07T13:41:25.470 回答
1

一种解决方法而不是答案:NHibernate 支持编程配置。因此您可以编写自己的本机属性/配置文件并在启动时将其解析为休眠配置。

于 2008-10-07T09:20:29.847 回答
1

我喜欢将我的 NHibernate 配置文件标记为嵌入式资源,并使用 Configuration.Configure() 重载从程序集资源中读取配置文件。

于 2008-10-07T14:16:00.610 回答