91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel unit test : 模擬認證的用戶是什么

發布時間:2021-04-25 09:31:58 來源:億速云 閱讀:164 作者:小新 欄目:編程語言

小編給大家分享一下Laravel unit test : 模擬認證的用戶是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Laravel 是什么

Laravel 是一套簡潔、優雅的PHP Web開發框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。

Laravel unit test : 模擬認證的用戶

在 Laravel 編寫單元測試時經常會遇到需要模擬認證用戶的時候,比如新建文章、創建訂單等,那么在 Laravel unit test 中如何來實現呢?

官方解決方法

Laravel 的官方文檔中的測試章節中有提到:

Of course, one common use of the session is for maintaining state for the authenticated user. The actingAs helper method provides a simple way to authenticate a given user as the current user. For example, we may use a model factory to generate and authenticate a user:
<?php

use App\User;

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

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

其實就是使用 Laravel Testing Illuminate\Foundation\Testing\Concerns\ImpersonatesUsers Trait 中的 actingAsbe 方法。

設置以后在后續的測試代碼中,我們可以通過 auth()->user() 等方法來獲取當前認證的用戶。

偽造認證用戶

在官方的示例中有利用 factory 來創建一個真實的用戶,但是更多的時候,我們只想用一個偽造的用戶來作為認證用戶即可,而不是通過 factory 來創建一個真實的用戶。

在 tests 目錄下新建一個 User calss:

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    protected $fillable = [
        'id', 'name', 'email', 'password',
    ];
}

必須在 $fillable 中添加 id attribute . 否則會拋出異常: Illuminate\Database\Eloquent\MassAssignmentException: id

接下來偽造一個用戶認證用戶:

$user = new User([
    'id' => 1,
    'name' => 'ibrand'
]);

 $this->be($user,'api');

以上是“Laravel unit test : 模擬認證的用戶是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吴桥县| 广元市| 汉中市| 湖州市| 济南市| 通州市| 北辰区| 海晏县| 浠水县| 方山县| 唐河县| 鲁山县| 庄河市| 古丈县| 靖远县| 德兴市| 遵义市| 定西市| 神池县| 滕州市| 汶川县| 防城港市| 扎囊县| 安远县| 郯城县| 资中县| 盐边县| 漯河市| 汨罗市| 宝清县| 台北市| 玉溪市| 济宁市| 盐山县| 黄梅县| 永吉县| 吉木萨尔县| 驻马店市| 井冈山市| 个旧市| 芮城县|