看完这篇 Testability and Entity Framework 4.0
昨天的文章大约 75 次,我不清楚作者想说什么。他似乎表明 UoW 和存储库模式是用于解决类似问题的两种不同模式。换句话说,UoW 更适用于需要在提交前进行编排的多对象,而 Repository 则适用于更直接的持久化。
当我在网上进行更多搜索以找到 chalice 框架以允许我对我的应用程序进行单元测试时,我看到更多的文章似乎暗示 UoW 是存储库模式的一部分,反之亦然。
哪个解释是正确的?
在一天结束时,我希望能够隔离我的应用程序,以允许将数据模拟到内存对象中。

最佳答案

您可以单独或一起使用它们。
这些您不能在内存对象中使用的帖子 - 好吧 - 有些人在没有看到特定失败案例的情况下会非常不同意。

存储库模式通常指示加载信息 - 如果您选择 - 保存信息。
来自 MSDN:“使用存储库将检索数据并将其映射到实体模型的逻辑与作用于模型的业务逻辑分开。T”

从存储库加载数据。您的工作单元模式肯定可以围绕您的所有存储库保存封装一个事务。

您没有理由不能同时使用其中之一或两者。
现在 - 测试您的对象取决于您要测试的内容。如果您正在测试保存到商店 - 那么可以肯定 - 这不是单元测试。如果你想模拟你的商店并简单地返回一个内存对象,那就这样吧。我想我不明白为什么其他海报会在这里引起关注 - 称我为无知。

您的单元测试应该测试一个“单元”,而不是您的应用程序可能会或可能不会进行的一些潜在调用。你想测试前。方法 - 不是 linq 提供程序

关于asp.net-mvc-3 - 工作单元和存储库模式是一起使用还是两个解决方案?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6681847/

10-11 00:46
查看更多