在我看来,大多数人在使用NHibernate时会针对像SQLite这样的内存中进程数据库编写测试.我已经启动并运行了,但我的第一个测试(使用NHibernate)总是需要3-4秒才能执行.下一个测试运行得更快.
我使用FluentNhibernate进行映射,但使用XML映射文件获得大致相同的时序.对我而言,3-4秒的延迟严重扰乱了我的流量.
推荐使用TDD和NHibernate的方式是什么?
是否可以模拟ISession对实际查询进行单元测试,还是只能在内存数据库中完成?
我正在使用存储库模式来执行数据库操作,每当我运行我的测试时,我只运行更高级别的测试,只需模拟存储库(使用RhinoMocks).
我有一套独立的测试,可以显式测试Repository层和NHibernate映射.而那些通常不会像业务和gui逻辑那样改变它们.
这样我就可以获得非常快速的单元测试,而这些单元测试从未打到数据库,而且仍然是经过良好测试