代码之家  ›  专栏  ›  技术社区  ›  Castrohenge

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

moq
  •  100
  • Castrohenge  · 技术社区  · 17 年前

    这项研究的目的是什么 Verifiable() ?

    如果我核实 Mock 不考虑这一点,它仍然验证 SetUp .

    编辑: 我在用 VerifyAll() 这就是一切都被证实的原因。改为 Verify() 只有我的 .Verifiable() 设置 我们正在检查他的护照。

    2 回复  |  直到 13 年前
        1
  •  89
  •   Ian Kemp    7 年前

    .Verifiable 就是征募 Setup 变成了一套“延期付款” Verify(...) “呼叫”,然后可通过 mock.Verify() .

    据我所知,关键用例包括:

    • mock.Setup() 和 mock.Verify
    • 允许用户断开验证配置与实际验证的连接 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 ).

        2
  •  61
  •   Ankush Madankar    11 年前

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

    VerifyAll()

    推荐文章