首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用NHibernate高效地进行测试?

如何使用NHibernate高效地进行测试?
EN

Stack Overflow用户
提问于 2008-12-01 22:30:18
回答 4查看 3.6K关注 0票数 8

在我看来,大多数人在使用NHibernate时,都是在内存中、进程中的数据库(如SQLite )上编写测试。我已经启动并运行了这个测试,但是我的第一个测试(使用NHibernate)总是需要3-4秒来执行。下一个测试运行得更快。

我使用FluentNhibernate进行映射,但获得的时间与XML映射文件大致相同。对我来说,3-4秒的延迟严重打乱了我的流程。

使用测试驱动开发和NHibernate的推荐方式是什么?

是否可以模拟ISession来对实际查询进行单元测试,或者只能在内存数据库中执行此操作?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-12-02 08:52:36

我使用存储库模式来执行数据库操作,并且每当我运行我的测试时,我只运行更高级别的测试,这些测试只是简单地模拟存储库(使用RhinoMocks)。

我有一套单独的测试来显式地测试存储库层和NHibernate映射。而这些通常不会像它们上面的业务和gui逻辑那样改变。

这样,我得到了非常快的UnitTests,而且不会访问DB,而且仍然是一个经过良好测试的DB层

票数 14
EN

Stack Overflow用户

发布于 2008-12-02 20:07:20

单元测试数据访问是不可能的,但您可以对其进行集成测试。我在一个独立于单元测试的项目中为我的数据访问创建了集成测试。只有当我在存储库、映射或数据库模式中更改了某些内容时,我才会运行(缓慢的)集成测试。因为集成测试没有与单元测试混合在一起,所以我每天仍然可以运行大约100次单元测试,而不会感到恼火。

票数 4
EN

Stack Overflow用户

发布于 2008-12-01 22:34:51

请参阅http://www.autumnofagile.nethttp://www.summerofnhibernate.com

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/332468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档