【发布时间】:2019-12-20 11:05:39
【问题描述】:
目前我正在重构我的上下文方法的测试,不再需要真正的数据库。我使用 Ef Core。
所以我通读了 Microsoft 文档如何测试上下文方法。我首先找到了 EF6 测试的文档,然后阅读了 EfCore 的文档。
以下是链接:
我发现有趣的是 EF6 和 EF Core 有不同的最佳实践。
对于 EF6,Microsoft 建议对 Moq 使用 Mocking 上下文或编写自己的测试替身。 所以两次都在嘲笑上下文。
对于 EF Core,微软建议使用 Sqlite 或内置的 InMemory 数据库。
用 Moq 模拟上下文对我来说似乎很合理。我只想测试这些方法的功能。无论如何,我必须在之后进行集成测试。为什么不再采用 EF Core 的推荐方式? 更一般地说,不同方法的优点或问题是什么?
【问题讨论】:
-
您的问题(为什么列表中的范围不起作用)已被删除,但我仍然想分享这些网址,您可能会觉得阅读感兴趣 - github.com/dotnet/runtime/issues/21727 github.com/dotnet/runtime/issues/27061
标签: c# entity-framework unit-testing .net-core entity-framework-core