【发布时间】:2011-12-05 09:38:51
【问题描述】:
我正在考虑在我的下一个项目中丢弃所有存储库类,并直接在我的服务类中使用ISession。原因是我的存储库类只是倾向于将调用转发到 ORM(即没有真正的逻辑)。
这样做的最大缺点是它使单元测试更加困难,我想知道是否还有其他方法可以在没有数据库的情况下测试我的服务(请不要使用像 sqlite 这样的内存数据库)?模拟ISession 是不是一个坏主意?
还是我应该坚持使用精简的存储库类?
【问题讨论】:
-
我不明白“没有数据库”的要求;假设你的服务类中有类似的东西:
Session.Query<User>.Where(u => u.Domain = domain)。您不想测试这个查询以查看它产生正确的 SQL 和正确的结果吗?你会怎么做? -
@sJhonny:集成测试而不是单元测试。
标签: c# unit-testing nhibernate