MSTest和NHibernate
时间:2020-03-05 18:41:33 来源:igfitidea点击:
有没有人有让MSTest将hibernate.cfg.xml正确复制到输出目录的经验?我所有的MSTest都失败,并出现hibernate.cfg.xml错误(我将其设置为"始终复制"),但是我的MBUnit测试通过了。
解决方案
回答
我们可以尝试将DeploymentItemAttribute添加到测试之一,或者编辑.testrunconfig文件,然后将该文件添加到"部署"列表中。
回答
解决方法,而不是答案:NHibernate支持编程配置。因此,我们可以编写自己的本机属性/配置文件,并在启动时将其解析为休眠配置。
回答
几周前遇到了同样的事情-这实际上是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(); }
回答
我想将NHibernate配置文件标记为Embedded Resources,并使用Configuration.Configure()重载从组件资源中读取配置文件。
回答
编辑localtestrun.testrunconfig(在解决方案项目文件夹中)。选择部署选项,然后将hibernate.cfg.xml文件添加到要部署的其他文件列表中。然后,应将文件复制到运行测试的输出目录。