Laravel:为什么来自同一端点的响应不同

时间:2019-08-09 03:56:50

标签: laravel api phpunit laravel-request

在对我的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());

转储为:

  

“ {”消息“:”给定的数据无效。“,”错误“:{”电子邮件“:[”电子邮件已被接收。“]}}”

这正是我所期望的。

为什么会这样?

0 个答案:

没有答案