4

我有一个看起来像这样的测试:

$user = factory(User::class)->state('verified')->create();

$this->be($user);
$file = new UploadedFile(storage_path('testing/user.jpg'), 'user.jpg', 'image/jpeg');

$this->post('/account/missing-fields/upload', [
    'file' => $file
], ['Content-Type' => 'multipart/form-data'])->dump();
$this->post('/account/missing-fields/upload', [
    'file' => $file
], ['Content-Type' => 'multipart/form-data'])->dump();
{#2983
  +"token": "hHAY7vD8fOiW8mVU9OIlxVSJv5FzAq52e0coaFHKRC"
  +"extension": "jpg"
  +"mime": "image/jpeg"
}
{#3072
  +"message": "Method Illuminate\Auth\RequestGuard::viaRemember does not exist."
  +"exception": "BadMethodCallException"
  +"file": "/app/backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php"
   ...
}

如您所见,第一次请求成功,并返回一个令牌,当我第二次请求时,Laravel 突然说该viaRemember方法不存在。

我不知道为什么不应该工作。

应该注意的是,我可以更改发布请求,第二个总是会像上面一样失败。

通过框架,错误发生在Illuminate\Session\Middleware\AuthenticateSession,其中第一个请求有一个web保护,第二个由于某种原因有weband airlock

在此处输入图像描述

4

0 回答 0