正如帖子标题所暗示的那样,我有一个遗留数据库(不确定是否重要),我正在使用Fluent NHibernate,我正在尝试使用Fluent NHibernate PersistenceSpecification class测试我的映射。
我的问题实际上是一个过程,我想在现在使用内置的单元测试框架在Visual Studio中构建本地时测试这些。显然这意味着(我认为)我将需要一个数据库。有什么选择让它进入构建?如果我在内存数据库中使用NHibernate或Fluent NHibernate有一些从目标数据库中吸取数据库模式的机制,或者内存数据库可以这样做吗?我是否需要手动获取架构以提供给内存数据库?
理想情况下,我希望将此设置放到其他开发人员不必考虑的地方,除非他们打破构建因为测试没有通过。
答案 0 :(得分:2)
NHibernate无法重新创建数据库的架构,因为它是遗留系统,您可能无法从NH生成架构。最好的方法是在事务中进行集成测试,并在完成后回滚。我们针对我们的开发和测试数据库运行集成测试,这些数据库定期从实时系统刷新。