0

我使用休息 API。

例如,requwest http://api/events/?api_token=KFvcc10H4l 返回我的 json。

但在测试中我得到错误 302

   /**
     * @return void
     */
    public function testReturnOneEventsItem()
    {
         $this->get( '/events/3?api_token=KFvcc10H4l')
                //  $response = $this->get('http://api/events');
                ->assertStatus(200);
    }

解决方案:

需要 wreti 数据进行测试。单元测试不使用你的数据库。

$event = factory(Event::class)->create();
        $user = factory(User::class)->create();
        $this->get('events/' . $event->id . '?&api_token=' . $user->api_token)
                ->assertStatus(200)->assertJson([
                        'id' => $event->id,
                        'title' => $event->title,
                        'city_id' => strval($event->city_id),
                ]);;
4

1 回答 1

0

你得到status code 302是因为你请求的资源已经被移动到一个临时位置。您的代码将成功返回请求的 API,但仍返回 a status code 302,我实际上认为这是因为它已经存储在请求它的位置。

如果第一次对 API 的源请求并成功接收到请求的资源,status code 200则返回。因此,后续调用将仅返回状态码 302。

点击链接阅读更多关于status code 302.

于 2020-07-04T17:44:39.233 回答