我正在做一个 Laravel 8 项目。我注意到 Laravel 8 中发生了一些变化,包括身份验证。我正在使用 Jetstream 和 Intertia JS 进行身份验证和管理面板。我现在在使用 Dusk 登录时无法编写浏览器测试。似乎登录在测试中不起作用,即使它实际上正在工作。
这是我的测试
function test userCanLogin()
{
$this->browse(function (Browser $browser) {
$admin = User::factory()->create();//I make sure that the password is Test.1234 and I can login on the browser.
$browser->visit('/login')->type('email', $admin->email)
->type('password', 'Test.1234')
->press('Login')
->assertAuthenticatedAs($admin);
});
}
当我运行测试时,我收到以下错误。
The currently authenticated user is not who was expected.
Failed asserting that two arrays are identical.
--- Expected
+++ Actual
@@ @@
-Array &0 (
- 'id' => 1
- 'className' => 'App\Models\User'
-)
+Array &0 ()
我的代码有什么问题,我该如何解决?