遗留数据库,流畅的NHibernate,以及测试我的映射

时间:2010-03-11 16:39:08

标签: database unit-testing nhibernate fluent-nhibernate build-process

正如帖子标题所暗示的那样,我有一个遗留数据库(不确定是否重要),我正在使用Fluent NHibernate,我正在尝试使用Fluent NHibernate PersistenceSpecification class测试我的映射。

我的问题实际上是一个过程,我想在现在使用内置的单元测试框架在Visual Studio中构建本地时测试这些。显然这意味着(我认为)我将需要一个数据库。有什么选择让它进入构建?如果我在内存数据库中使用NHibernate或Fluent NHibernate有一些从目标数据库中吸取数据库模式的机制,或者内存数据库可以这样做吗?我是否需要手动获取架构以提供给内存数据库?

理想情况下,我希望将此设置放到其他开发人员不必考虑的地方,除非他们打破构建因为测试没有通过。

1 个答案:

答案 0 :(得分:2)

NHibernate无法重新创建数据库的架构,因为它是遗留系统,您可能无法从NH生成架构。最好的方法是在事务中进行集成测试,并在完成后回滚。我们针对我们的开发和测试数据库运行集成测试,这些数据库定期从实时系统刷新。