Wir haben eine Aktion, um das Benutzerprofil zu bearbeiten, das auf die gleiche Seite umleitet. Hier scheint seePageIs() nicht auf das Laden der neuen Seite zu warten.Warten auf Neuladen einer Seite in Laravel-Integrationstest
Der folgende Test schlägt fehl, da der neue Benutzername in der Antwort nicht gefunden wird. Wenn wir die Profilseite nach dem Test manuell geladen haben, wurde sie ordnungsgemäß aktualisiert.
public function testCanEditUserProfileAsConsumer()
{
$this->loginConsumer();
$this->visit('/user/profile');
$firstName = $this->faker->firstname;
$name = $this->faker->name;
$this->within('#userEditForm', function() use ($firstName, $name) {
$this->type($firstName, 'firstname');
$this->type($name, 'surname');
$this->press('Speichern');
});
// here: how to wait for page reload ?
$this->seePageIs('/user/profile');
$this->see($firstName);
$this->see($name);
}
bearbeiten
$this->within('#userEditForm', function() use ($firstName, $lastname) {
$this->type($firstName, 'firstname');
$this->type($lastname, 'surname');
$this->press('Speichern')
->seePageIs('/user/profile')
->see($firstName)
->see($lastname);
});
auch nicht
Bewegen Sie Ihren Code in das Innere und ketten Sie es mit der Presse (möglicherweise). Im Allgemeinen scheinen Sie nicht zu warten, nachdem die Presse gerufen wurde. – apokryfos