【问题标题】:Kiwi: concrete difference between mock and nullMock?Kiwi:mock 和 nullMock 之间的具体区别?
【发布时间】:2015-04-23 22:50:43
【问题描述】:

我在一个项目中使用 Kiwi,我不太清楚何时使用 mocknullMock。以下是 Kiwi 的文档目前提供的内容:

一个普通的模拟对象在收到一个 它不期望的选择器或消息模式。预期消息 存根或收到期望时自动添加到模拟中 用于模拟。

如果您不关心模拟接收其他消息,并且不希望 要引发的异常,然后使用 null 模拟(也称为 null 对象)。

这种差异会在什么样的情况下发挥作用?

【问题讨论】:

    标签: ios unit-testing testing tdd kiwi


    【解决方案1】:

    Null 模拟具有响应发送给它们的所有可能消息的好功能,这意味着您无需手动设置将在该模拟上调用的每个方法。常规模拟没有这个,如果你将它们作为依赖注入,你需要准备它们。

    在大多数情况下,您将使用 null mock,因为您通常会在调用某个方法时感兴趣,因为无论如何您正在其他测试中在 mock 上测试其他方法。

    这有好处也有坏处:

    • 使用null mocks 的测试可能会隐藏一些细微的错误,因为您可能会忘记测试由“其他”方法之一触发的极端情况
    • 使用null mocks 的测试开发得更快,因为您不必跟踪被测试方法调用的每个方法,这也不好,因为您在测试和代码之间建立了牢固的关系,这使得重构更加困难

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 2016-10-16
      相关资源
      最近更新 更多