我是NHibernate(+ Fluent)的新手,在构建我的代码以使其可测试时,我无法决定什么是最佳策略。我有一个简单的结构,包括域模型,将模型映射到数据库的映射,以及一些具有行为的类,这些行将用于模型类并执行更新和从数据库读取数据的事务。我对此有更多的了解,但这与此无关。
现在,当谈到单元测试时,对我来说似乎很自然的是将某些东西注入到行为类中,这样它们就会获得用于测试的SQLite数据库,或者真正的数据库,但这是配置。这有意义吗?我无法决定注入的是什么 。
我是否在正确的轨道上?我应该如何使用NHibernate为代码编写单元测试来编写代码?我应该注意哪些最佳实践?
答案 0 :(得分:5)
您可以查看Ayende撰写的这篇博文: Nhibernate Unit Testing。他有一个测试基类,用于在内存数据库(sql lite)中配置会话。这似乎与您的第三种选择类似。