在我看来,大多数人在使用 NHibernate 时都会针对内存中、进程内数据库(例如 SQLite)编写测试。我已经启动并运行了它,但我的第一个测试(使用 NHibernate)总是需要 3-4 秒才能执行。下一个测试运行得更快。
我使用 FluentNhibernate 进行映射,但使用 XML 映射文件获得大致相同的时间。对我来说,3-4 秒的延迟严重扰乱了我的流程。
使用 TDD 和 NHibernate 的推荐方式是什么?
是否可以模拟 ISession 对实际查询进行单元测试,或者只能在内存数据库中完成?
我使用存储库模式来执行数据库操作,每当我运行测试时,我只运行简单模拟存储库(使用 RhinoMocks)的更高级别的测试。
我有一套单独的测试,可以显式测试存储库层和 NHibernate 映射。这些通常不会像它们上面的业务和 GUI 逻辑那样发生变化。
这样我就可以获得非常快速的单元测试,而不会触及数据库,并且仍然是经过良好测试的数据库层
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)