【发布时间】:2018-05-19 20:47:45
【问题描述】:
我有一个公开 IQueryable 的存储库,一个服务处理特定的查询,这里有一些使用 DbFunctions 的方法。为了可测试,我创建了一个带有静态元素列表的假存储库并将其注入到服务中。问题是,由于我的服务查询一个列表并且不使用数据库,我收到错误“此函数只能从 LINQ 调用到实体。”。
有没有比创建一个假的 DbFunctions 和 QueryProvider 更简单的测试方法?
提前致谢
【问题讨论】:
-
那只是one of many required replacements。做集成测试。模拟永远不会可靠或需要太多代码(+维护),以至于它们本身就成为一个应用程序。您需要为您的单元测试框架进行单元测试!
-
谢谢格特!确实很难模拟 DbFunctions,我已经能够制作一些我需要的东西,但就像你说的那样,虽然是维护。
标签: c# entity-framework unit-testing mocking