我正在使用 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.克隆 repo
2. 切换到分支account
2. 配置.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_button
Did not see expected text [Account] within element [body].
Failed asserting that false is true.
qq_笑_17