在使用 phpunit 进行单元测试期间,我正在使用 mockery 来模拟对数据库的方法调用的返回结果(因此我实际上并没有访问数据库)。
特别是一种方法会返回大量结果。我模拟返回值的其他测试返回实际预期结果,通常是基本字符串。
对于这些非常大的结果,我应该在模拟中返回大结果(可能包括一个包含结果的文本文件吗?)或者我应该以不同的方式断言它们,也许只断言数组中的第一个元素或断言数组的结构?
模拟大数据返回的最佳实践是什么?
最佳答案
除非您想测试性能,并且 2 个、10 个或 100 个结果之间的行为没有预期的差异,否则无需针对大型集合进行测试。
通常,您想要找出行为差异所在,并围绕这些差异进行测试。因此,对于结果集,这通常意味着使用 0、1 和 2 个结果进行测试,因为任何比这更大的结果都会得到相同的处理。
事实上,您还想验证整个结果集的结构。如果您一次只测试一个结果,这样做会容易得多,这是您应该做的,正如单元测试中的“单元”可能暗示的那样。
关于unit-testing - 模拟大返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36740450/