模拟大型 return 结果

Mocking large return results

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

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

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

模拟大数据 return 的最佳实践是什么?

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

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

事实上,您还想验证整个结果集的结构。如果您一次只测试一个结果,这样做会容易得多,这是您应该做的,正如单元测试中的 'unit' 可能建议的那样。