我正在考虑在我的下一个项目中丢弃所有的存储库类,直接在我的服务类中使用ISession。这样做的原因是我的存储库类只是倾向于将调用转发到ORM (即没有真正的逻辑)。
这样做的最大缺点是它使单元测试变得更加困难,我想知道是否有其他方法可以在没有数据库的情况下测试我的服务(请不要像sqlite那样使用内存中的db )?模仿ISession是个坏主意吗?
或者我应该坚持使用瘦存储库类?
发布于 2012-01-13 18:34:32
模仿ISession可能看起来很容易,但我发现很难做一个合适的模仿。尤其是在使用LINQ扩展方法时。
我将坚持使用存储库。与泛型接口(如ISession )相比,更容易理解存储库方法的用途。
发布于 2011-12-05 17:40:35
嘲笑ISession是个坏主意吗?
不,这不是个坏主意。如果您的服务类依赖于ISession,那么您可以这样做来测试它们。虽然有一种设计的味道,因为您的服务类依赖于NHibernate,但我猜您可以接受。
https://stackoverflow.com/questions/8383336
复制相似问题