我想为我的数据访问层编写一个单元测试,以确保一切正常。 问题是,我应该在测试中加入什么样的东西?
DAL是一个静态Repository
类,隐藏底层(Fluent NHibernate)并通过IQueryable
向公众公开内容。
我想过
还有其他值得测试的DAL吗? 提前感谢您的回答!
答案 0 :(得分:12)
使用集成测试而不是单元测试来测试存储库实现。隔离存储库实现(模拟ORM)几乎是不可能的。请看一下这个answer。集成测试使用真实ORM结合真实或伪造(通常是内存中)数据库来执行以下操作:
基本上你测试的正确性是:
事务通常由应用程序层处理,而不是由存储库处理。您可能对this回答感兴趣。在存储库实现中封装IQueryable将使您的测试变得更加容易。
答案 1 :(得分:1)
答案 2 :(得分:1)
通常在DAL中你没有业务逻辑,只有普通的数据库访问代码,可能只有1-5行,所以没有太多要测试......
如果您确定要对其进行单元测试,那么我相信CRUD很好。模拟出NHibernate,提供假数据并测试假数据;)。
希望这会有所帮助;)