小编Her*_*tha的帖子

PhpUnit 和 Laravel 5.4 如何在测试期间模拟会话数据

我正在使用 phpunit 测试 laravel 5.4 中的一个类,该类使用会话来获取数据。在应用程序运行时直接访问会话数据时,检索会话数据有效,即“会话('消费者')”返回一个值,但是当我尝试测试使用会话的函数时,出现以下错误:

ReflectionException: 类会话不存在

有人可以说明如何在测试期间完成设置会话数据。

我试过使用:

$this->session()->put([$array_value]) 但收到错误“class_im_testing 上不存在课堂会话”

在此先感谢您的帮助!

public function test_get_user()
{
    $mockUser =  [
        'id' => 'cf442564-d076-4198-beb5-edef5aa51a69',
        'name' => 'John Doe',
        'fname' => 'John',
        'lname' => 'Doe',  
    ];

    session->put('consumer', [
        'id' => 'cf442564-d076-4198-beb5-edef5aa51a69',
        'name' => 'John Doe',
        'fname' => 'John',
        'lname' => 'Doe',  
    ]);

    $user = $this->repo->getUser();

    $this->assertEqual($user, $mockUser);
}
Run Code Online (Sandbox Code Playgroud)
public function getUser()
{
   $user = new User(session('consumer'));
   return $user;
}
Run Code Online (Sandbox Code Playgroud)

php phpunit laravel laravel-session

4
推荐指数
1
解决办法
4946
查看次数

标签 统计

laravel ×1

laravel-session ×1

php ×1

phpunit ×1