我在使用phpunit进行单元测试时,使用mockery来模拟对数据库的方法调用的返回结果(所以我实际上并没有访问数据库)。
一种方法尤其会返回大量结果。我模拟返回值的其他测试返回实际的预期结果,通常是一个基本字符串。
对于这些非常大的结果,我应该在mock中返回大的结果(可能包括带有结果的文本文件吗?)或者我应该以不同的方式断言它们,也许只是声明数组中的第一个元素或者断言数组的结构?
模拟大数据返回的最佳做法是什么?
答案 0 :(得分:1)
除非您想测试性能,并且在2,10或100个结果之间没有预期的行为差异,否则无需针对大型集进行测试。
通常,您希望确定行为差异所在的位置,并对其进行测试。因此,对于结果集,这通常意味着测试0,1和2结果,因为任何大于此的结果都会得到相同的处理。
事实上,您也希望验证整个结果集的结构。如果您只是一次测试一个结果,这应该更容易做,因为单元测试中的“单位”可能会建议。