如何使用Moq执行与Effort相同的测试?


目前,我已经设置了许多测试,包括使用Effort的数据访问层和业务逻辑层测试(请参阅https://effort.codeplex.com/ )。我们已经在单元测试中使用了Moq,而我的老板想要保持简单,所以他想让我看看我是否可以将测试从Effort实现移到我们只有Moq和FakeDbSet(参见http:// aikmeng.com/post/62817541825/how-to-mock-dbcontext-and-dbset-with-moq-for-unit ),使代码库更易于维护。

据我所知,Effort基本上模仿了内存中的整个SQL Server数据库。因此,似乎需要使用Moq来设置所有内容的大量代码,以便只使用它来运行测试。有没有人对此有任何想法?它甚至可以在没有大量编码的情况下完成吗?有没有人有什么建议? TIA。

一般承认的答案

结束了努力。使用FakeDbSet和Moq需要更多的设置,并导致一些LINQ查询在单元测试中失败,即使它们在生产环境中工作。

更新:

事实证明,它不是FakeDbSet或Moq的问题 - 我的LINQ查询中存在问题,如果存在空字符串值,它将失败。





许可下: CC-BY-SA
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因