【问题标题】:MOQ usage of setup and verifyMOQ 使用设置和验证
【发布时间】:2014-07-06 21:35:25
【问题描述】:

我刚开始研究起订量框架,有点困惑。我见过人们使用 setup 来布局预期的行为,举一个简单的例子,你只是检查一个函数是否被调用。然后当断言我已经看到 verifyall 调用。

但我也看到有人不使用 setup 并传入一个 lambda 来验证该函数是否被调用。你什么时候会使用设置而不是验证,反之亦然?

【问题讨论】:

  • 一种“较旧”的测试风格涉及在调用被测系统之前设置 Mocks 以及如何与它们同时交互的预期。这随后演变成更现代的“安排、行动、断言”风格,其中验证是在Act 之后作为显式步骤完成的,与任何断言同时进行。因此,应避免使用VerifyAll() 或空的Verify(),而应使用显式.Verify(() => ...)More here

标签: .net unit-testing moq


【解决方案1】:

.Setup 后跟.Verify 是一种快捷形式,表示您正在设置一个方法,然后想要验证它是否被调用。何时仅使用 .Verify 取决于样式和标准。但是在某些情况下,您在 TestInitialize 方法中为所有测试设置一个方法,而不是所有测试都想要验证,在这种情况下,只有一些单元测试可能只做 .Verify

另外,当我想测试参数时,我个人使用.Verify,这对我来说似乎更容易阅读。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 2019-01-08
    • 2011-05-08
    • 2010-11-28
    • 2011-06-24
    相关资源
    最近更新 更多