首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Moq中的Verifiable()的用途是什么?

Moq中的Verifiable()的用途是什么?
EN

Stack Overflow用户
提问于 2009-06-11 11:18:49
回答 2查看 50.8K关注 0票数 137

Verifiable()的用途是什么

如果我验证了一个Mock并省略了这一点,它仍然会验证该SetUp

编辑:我使用的是VerifyAll(),这就是所有东西都被验证的原因。切换到Verify()后,仅检查了我的.Verifiable() SetUp

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-13 18:49:32

附录:正如其他答案所述,.Verifiable的目的是将Setup登记到一组“延迟Verify(...)调用”中,然后可以通过mock.Verify()触发这些调用。

OP的澄清清楚地表明,这是目标,唯一的问题是找出为什么它不工作,但正如@Liam敦促的那样,答案也应该涉及到这一点:-据我所知,关键用例是:

  • 在DRYness和mock.Setup()之间维护验证,将验证的配置与实际的Verify调用本身断开(例如,您可以在另一个辅助方法中设置它)

..。回到我的回答,它简洁而有效地说:“要小心,因为实现这些目标对过于依赖这些结构的测试的易读性和可维护性的影响通常被认为超过了上面的优点”。

原始:请注意,在可能的情况下,应该遵循AAA布局,因此应该尽可能使用doing explicit mock.Verify( expression ) calls after the work has been done, rather than a mock.Setup( ... ).Verifiable() paired with a mock.Verify() or mock.VerifyAll() (来源:@kzu)。

票数 89
EN

Stack Overflow用户

发布于 2009-06-11 11:33:40

当在测试结束时调用Verify()方法时,如果任何标记为可验证的期望都没有被调用,那么异常是thrown

VerifyAll()不检查可验证的期望值。

票数 62
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/980554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档