在对我的RegisterController中的方法进行单元测试时,我注意到它的响应方式不同,具体取决于发出请求的方法。
因此,如果我执行以下请求:
$response = $this->post(
"/api/register/",
$user2,
[
'Accept' => 'application/json',
'Content-Type' => 'application/json'
]
);
dd($response->content());
转储如下:
“ {” message“:”给定的数据无效。“,”错误“:{” first_name“:[”姓氏为必填。“],” last_name“:[”姓氏为必填。“],”电子邮件“:[”必填电子邮件字段。“],”密码“:[”必填密码字段。“],” terms_conditions“:[”必须接受条款条件。“] }}“
这不是我期望的,因为我的测试是要尝试多次注册同一用户(使用相同的电子邮件地址)。
但是,如果我执行以下请求:
$response = $this->withHeaders([
'Accept' => 'application/json',
'Content-Type' => 'application/json'
])->json('POST', "/api/register/",
$user2);
dd($response->content());
转储为:
“ {”消息“:”给定的数据无效。“,”错误“:{”电子邮件“:[”电子邮件已被接收。“]}}”
这正是我所期望的。
为什么会这样?