亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何使用 Laravel Dusk 測試身份驗證?

如何使用 Laravel Dusk 測試身份驗證?

PHP
繁星coding 2021-11-26 16:09:50
我正在使用 Laravel Dusk 設置 e2e 測試,但在嘗試弄清楚如何測試 Laravel 的身份驗證時遇到了問題。我正在使用DatabaseMigrationstrait遷移數據庫并用 1 條記錄填充它(運行模擬用戶的 setUp 方法)。我嘗試使用該loginAs()方法與該特定用戶登錄,但它沒有登錄。我的AuthenticationTest.php檔案  use DatabaseMigrations;    public function setUp(): void    {        parent::setUp();        factory('App\User')->create();    }    public function an_authenticated_user_will_see_an_account_button()    {        $this->browse(function (Browser $browser) {            $browser                ->loginAs(User::find(1))                ->visit('http://recipemanager.test/recipes')                ->assertSee('Account');        });    }我的 dusk routes|        | GET|HEAD | _dusk/login/{userId}/{guard?} |                  | Laravel\Dusk\Http\Controllers\UserController@login                     | web          ||        | GET|HEAD | _dusk/logout/{guard?}         |                  | Laravel\Dusk\Http\Controllers\UserController@logout                    | web          ||        | GET|HEAD | _dusk/user/{guard?}           |                  | Laravel\Dusk\Http\Controllers\UserController@user                      | web          |請注意,我沒有接觸任何控制器,與 Laravel Dusk 相關的文件!我沒有將測試數據庫用于我的測試,我知道這很糟糕,我進入它并不討厭我。重現錯誤的步驟(您需要有 XAMPP):1.克隆 repo2. 切換到分支account2. 配置.env file匹配您的數據庫3. 確保配置vhostsApache 文件和etc/hosts文件,以便您可以recipemanager.test作為主路由訪問( 127.0.0.1 recipemanager.test)4.運行php artisan dusk錯誤: 1)Tests\Browser\AuthenticationTest::an_authenticated_user_will_see_an_account_buttonDid not see expected text [Account] within element [body].Failed asserting that false is true.
查看完整描述

1 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

我通過訪問食譜解決了這個問題visit('/recipes')。問題出在環境文件中 -> APP_URL 設置為 localhost 并且 Dusk 試圖訪問 localhost:800/recipes。我通過斷言完整的 URL 來檢查


 $this->browse(function (Browser $browser) {

            $browser

                ->loginAs(User::find(1))

                ->visit('/recipes')

                ->assertUrlIs('http://recipemanager.test/recipes');

        });


Error: Actual URL [http://localhost/recipes] does not equal expected URL [http://recipemanager.test/recipes].

.env 文件


APP_URL=http://localhost

在我將 APP_URL 更改為http://recipemanager.test并訪問后/recipes一切正常!


查看完整回答
反對 回復 2021-11-26
  • 1 回答
  • 0 關注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號