我不知道是否有意。但是当我在我的控制器中使用响应代码204时,我在PHPunit中得到“路由返回的无效JSON”。
但如果我将响应代码更改为201,一切正常......为什么?
protected function output($title, $status = 201)
{
return response([
'title' => $title,
'offers' => $this->popular,
], $status);
}
$this->output('Empty', 204); //Here is the error
在我的测试中
/** @test */
public function popular_can_fetch_food_lists() {
$result = $this->json('post', route('popular', [
'type' => $this->food->type,
'id' => $this->food->id
]))->json();
}
答案 0 :(得分:1)
如果您查看https://httpstatuses.com/204,可以阅读:
204响应由标题字段后的第一个空行终止,因为它不能包含消息正文。
因此,如果您使用204实际上没有任何内容将作出回应。
因此,您不应该在测试中运行->json()
。您应该只验证状态代码是否为204