gpt4 book ai didi

php - 在 Laravel 的单元/功能测试中存储和检索 session 变量

转载 作者:行者123 更新时间:2023-11-28 20:51:06 24 4
gpt4 key购买 nike

在 Laravel 功能测试中,我试图在 session 中存储一个变量,以便我可以在其余测试中使用它,如下所示:

public function testLogin()
{
$response = $this->json('POST', '/login', $myCredentials);

$response
->assertStatus(200)
->assertJson([
'token' => true
]);

session(['token' => $response['token']]);
}

当我在命令行中运行“phpunit”时,我得到这个错误:

PHP Fatal error: Uncaught ReflectionException: Class session does not exist in /vendor/laravel/framework/src/Illuminate/Container/Container.php:752

显然“session()”全局助手在测试类中不起作用。我还尝试通过使用“Illuminate\Session”或仅使用“\Session”直接使用该类,但都返回“未找到”错误。如何在测试类中存储和检索 session 变量?

最佳答案

在测试中它有点不同。

https://laravel.com/docs/5.2/testing#sessions-and-authentication

这是一个例子:

public function testApplication()
{
$this->withSession(['foo' => 'bar'])
->visit('/');
}

关于php - 在 Laravel 的单元/功能测试中存储和检索 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46650138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com