我正在使用NHibernate 3的项目,但代码非常混乱。我想做的是:
有没有办法实现它?
答案 0 :(得分:0)
这可能不是你想要的。我们有两种测试:单元测试,它在没有数据库和数据库集成测试的情况下测试纯逻辑。
单元测试
我们有实现查询的类的接口。这样,域没有对NHibernate的任何引用。在您的情况下,这可能是存储库。为它们编写简单的小接口并模拟整个存储库。你甚至不需要NHibernate。这就是persistence ignorance的美丽。
数据库集成测试
我们在Sqlite database in memory上运行NHibernate。这样我们就可以测试依赖于NHibernate的映射,查询和其他东西。