第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 7 單元測試到注冊路由重定向到主頁

Laravel 7 單元測試到注冊路由重定向到主頁

PHP
HUWWW 2023-08-19 16:55:34
我正在使用提供的幾乎完全開箱即用的注冊流程Laravel 7。當(dāng)我嘗試通過網(wǎng)絡(luò)瀏覽器中的表單提交無效的注冊表單時,我會返回到注冊頁面,其中包含錯誤列表,這正是我期望發(fā)生的情況。但是,我正在嘗試為此功能編寫一個單元測試,但由于某種原因,當(dāng)我在單元測試中發(fā)出相同的請求時,我得到了重定向到 root page 的響應(yīng)/。為什么我的單元測試沒有返回與通過瀏覽器發(fā)出相同請求時相同的 HTML 響應(yīng)?我懷疑這可能是由于請求中缺少發(fā)送的 CSRF 令牌,但根據(jù)文檔,CSRF 中間件應(yīng)該在單元測試期間被禁用。運(yùn)行測試時,CSRF 中間件會自動禁用。這是我的單元測試代碼:public function testPostInvalidRegistration(){    $response = $this->post("/register",[        'first_name' => $this->faker->name    ]);        $response->dumpSession();    $response->dump();    $response->dumpHeaders();}這是輸出$response->dump()<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset="UTF-8" />\n        <meta http-equiv="refresh" content="0;url='http://localhost'" />\n\n        <title>Redirecting to http://localhost</title>\n    </head>\n    <body>\n        Redirecting to <a href="http://localhost">http://localhost</a>.\n    </body>\n</html>我$response->dumpSession()可以看到驗(yàn)證器已運(yùn)行并列出了錯誤。
查看完整描述

1 回答

?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個贊

這就是 Laravel 的工作方式。當(dāng)表單驗(yàn)證失敗時,您將被重定向到之前的位置。由于您的測試中只有一個請求,因此沒有先前的位置。后備方法是重定向到/.


對于您想要的行為,您必須將referer標(biāo)題設(shè)置為注冊表單頁面的路徑。要獲取表單的渲染響應(yīng),您必須遵循重定向。


    public function testPostInvalidRegistration()

    {

        $this->followingRedirects();


        $response = $this->post(

            "/register",

            [

                'first_name' => $this->faker->name

            ],

            ['Referer' => '/registration-form']

        );


        // Assert stuff

    }


查看完整回答
反對 回復(fù) 2023-08-19
  • 1 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號