, 然后没有提前加载, 导致了动态查询数据库
解决方式很简单, 在查询的时候增加
$models = Model::query()->with('album')->limit(20)->get();
如何避免...我们应该想怎么避免此类问题, 我是这样处理的
项目里已经对每一个接口进行HTTP测试(当然实际没有HTTP请求, 而是内部mock),具体可查看Laravel的测试
因为框架的每一个测试类都继承了tests..., 这时候有一个机器流程去帮我们发现这些错误, 这是一个很好的例子
还可以在这里进行更多的尝试, 比如必须所有接口都进行测试, 当新增接口没写测试, 就断言失败
// 每次测试都把测试的路由存储起来
public..., 这里省略
self::$testRoutes[$route->uri()][] = $method;
return $response;
}
在phpunit.xml增加一个结束的测试类..., 保证我们的这个测试是最后进行的
<?