目前,我已经设置了许多测试,包括使用Effort的数据访问层和业务逻辑层测试(参见https://effort.codeplex.com/)。我们已经在单元测试中使用Moq,而且我的老板想要保持简单,所以他希望我看看我是否可以将测试从Effort实现移到我们只有Moq和FakeDbSet(参见{{3} }),使代码库更易于维护。
据我所知,Effort基本上模仿了内存中的整个SQL Server数据库。因此,似乎需要使用Moq来设置所有内容的大量代码,以便只使用它来运行测试。有没有人对此有任何想法?它甚至可以在没有大量编码的情况下完成吗?有没有人有什么建议? TIA。
答案 0 :(得分:0)
结束了努力。使用FakeDbSet和Moq需要更多的设置,并导致一些LINQ查询在单元测试中失败,即使它们在生产环境中工作。
<强>更新强>
事实证明,它不是FakeDbSet或Moq的问题 - 我的LINQ查询中存在问题,如果存在空字符串值,它将会失败。