MSTest和NHibernate

MSTest和NHibernate,nhibernate,mstest,mbunit,Nhibernate,Mstest,Mbunit,有没有人有过让MSTest将hibernate.cfg.xml正确复制到输出目录的经验?我的所有MSTests都失败,出现找不到hibernate.cfg.xml错误。我已将其设置为“始终复制”,但我的MBUnit测试通过。您可以尝试将DeploymentItemAttribute添加到某个测试中,或者编辑.testrunconfig文件并将该文件添加到部署列表中。解决方法而不是答案:NHibernate支持。因此,您可以编写自己的本机属性/config文件,并在启动时将其解析为hibernat

有没有人有过让MSTest将hibernate.cfg.xml正确复制到输出目录的经验?我的所有MSTests都失败,出现找不到hibernate.cfg.xml错误。我已将其设置为“始终复制”,但我的MBUnit测试通过。

您可以尝试将DeploymentItemAttribute添加到某个测试中,或者编辑.testrunconfig文件并将该文件添加到部署列表中。

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

几周前遇到了相同的情况-这实际上是一个-我相信这已通过最近的解决方案得到纠正,尽管它仍然显示为Active。如果没有,我所要做的就是直接引用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配置文件标记为嵌入式资源,并使用Configuration.Configure重载从程序集资源中读取配置文件。

编辑解决方案项文件夹中的localtestrun.testrunconfig。选择部署选项,并将hibernate.cfg.xml文件添加到要部署的其他文件列表中。然后,应该将该文件复制到运行测试的输出目录