【问题标题】:Mocking large return results模拟大返回结果
【发布时间】:2016-08-12 22:25:03
【问题描述】:

在使用 phpunit 进行单元测试期间,我正在使用 mockery 来模拟对数据库的方法调用的返回结果(所以我实际上并没有访问数据库)。

特别是一种方法会返回大量结果。我的其他模拟返回值的测试返回通常是基本字符串的实际预期结果。

对于这些非常大的结果,我应该在模拟中返回大结果(可能包括带有结果的文本文件?)还是应该以不同的方式断言它们,也许只断言数组中的第一个元素或断言数组的结构?

模拟大数据返回的最佳做法是什么?

【问题讨论】:

    标签: unit-testing mocking phpunit mockery


    【解决方案1】:

    除非您想测试性能,并且 2、10 或 100 个结果之间没有预期的行为差异,否则无需针对大型集合进行测试。

    通常,您希望确定行为差异所在,并围绕它们进行测试。因此,对于结果集,这通常意味着使用 0、1 和 2 个结果进行测试,因为任何大于此的结果都会得到相同的处理。

    确实,您还想验证整个结果集的结构。如果您一次只测试一个结果,这会容易得多,您应该这样做,因为单元测试中的“单元”可能会建议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多