测试抛出 RequestGuard::viaRemember() 在第二个请求上不存在

Jaz*_*rix 6 php laravel laravel-airlock laravel-sanctum

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

$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();
Run Code Online (Sandbox Code Playgroud)
{#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"
   ...
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,第一次请求成功,并返回一个令牌,当我第二次请求时,Laravel 突然说viaRemember方法不存在。

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

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

通过框架,错误发生在Illuminate\Session\Middleware\AuthenticateSession,其中第一个请求有一个web守卫,而第二个请求由于某种原因有webairlock

在此输入图像描述