在使用phpunit进行单元测试期间,我使用嘲笑来模拟对数据库的方法调用的返回结果(因此,我实际上并未触及该数据库)。

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

对于这些非常大的结果,我应该在模拟中返回大结果(可能在结果中包括一个文本文件?)还是应该以其他方式声明它们,也许仅声明数组中的第一个元素或声明结构的阵列?

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

最佳答案

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

通常,您要确定行为差异所在,并对其进行测试。因此,对于一个结果集,通常意味着要测试0、1和2个结果,因为任何大于此值的结果都将得到相同的处理。

实际上,您也想验证整个结果集的结构。如果您一次只测试一个结果(您应该这样做),那么这样做就容易得多,因为单元测试中可能会提示“单元”。

07-24 17:28
查看更多