codecamp

Laravel 8 Session / 身份验证

Laravel 提供了几个可在 HTTP 测试时使用 Session 的辅助函数。首先,你需要传递一个数组给 withSession 方法来设置 session 数据。这样在应用程序的测试请求发送之前,就会先去给数据加载 session:

<?php

class ExampleTest extends TestCase
{
    public function testApplication()
    {
        $response = $this->withSession(['foo' => 'bar'])
                         ->get('/');
    }
} 

当然,一般使用 session 时都是用于维护用户状态,如用户认证。actingAs 辅助函数提供了简单的方法来指定的用户认证为当前用户。例如,我们可以使用 工厂模式 来生成并认证用户:

<?php

use App\Models\User;

class ExampleTest extends TestCase
{
    public function testApplication()
    {
        $user = User::factory()->create();

        $response = $this->actingAs($user)
                         ->withSession(['foo' => 'bar'])
                         ->get('/');
    }
} 

你也可以通过传递看守器名称作为 actingAs 方法的第二参数以指定用户通过哪种看守器来认证:

$this->actingAs($user, 'api') 


Laravel 8 调试响应
Laravel 8 测试 JSON APIs
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Laravel 8 入门指南

Laravel 8 基础功能

Laravel 8 前端开发

Laravel 8 安全相关

Laravel 8 综合话题

数据库

Eloquent ORM

测试相关

官方拓展包

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }