我也期待著學習 Livewire 及其測驗。現在我已經創建了用于注冊用戶的組件并且它作業正常,但是當我嘗試進行測驗時出現此錯誤:
Failed asserting that an array has the key 'redirect'.
以下是代碼的部分內容:
注冊測驗
class RegisterTest extends TestCase
{
use RefreshDatabase;
/** @test */
public function can_register()
{
Livewire::test('auth.register')
->set('name', 'user')
->set('email', '[email protected]')
->set('password', 'secret')
->set('password_confirmation', 'secret')
->call('register')
->assertRedirect('/');
}
}
成分
public $name = '';
public $email = '';
public $password = '';
public $password_confirmation = '';
public function register()
{
$data = $this->validate([
'name' => 'required|string',
'email' => 'required|email',
'password' => 'required|confirmed|min:8|string'
]);
User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
return redirect('/');
}
uj5u.com熱心網友回復:
這很容易。
添加以下檔案:
->assertHasNoErrors(['name', 'email', 'password']);
前
->assertRedirect('/');
線,你會看到它會失敗。這是因為您的驗證告訴密碼應至少為 8 個字符,而在您的測驗中為 6 個(您用作secret密碼)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/370993.html
