Ich habe einen Link auf einer Seite /my/example/page
, die Links zu einer Laravel-Route my.route
.Testen Redirect-Links zu externen Websites
Strecke
Route::group(['middleware' => ['auth']], function() {
Route::group(['middleware' => ['Some\Custom\Auth\Middleware:1']], function() {
Route::match(['GET', 'POST'], '/my/route/to/external/controller', '[email protected]')->name('my.route');
}
}
-Link auf die /my/example/page
<a href="/my/route/to/external/controller">Link</a>
Diese Route /my/route/to/external/controller
Punkte auf diese Controller Methode externalLink
im exampleController
-Controller, der die URL für den href kehrt zu verwenden
public function externalLink()
{
return $this->redirect->away('www.externalsite.com');
}
Mein Test ist
$this->visit(/my/example/page)
->click('Link')
->assertRedirectedToRoute('my.route');
ich den Fehler ständig erhalten
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
, wenn ich die click()
Testmethode verwenden.
Ich kann dies mit @expectedException
fangen, aber sein hilft nicht, da ich eine andere Seite zu erwarten erwarte.
Ich habe auch versucht (nicht zusammen);
->assertResponseStatus(200);
->seePageIs('www.externalsite.com');
->assertRedirect();
->followRedirects();
Von Browser-Inspektion, wenn die URL ich
erhalten geklickt wirdhttp://www.example.com/my/route/to/external 302
http://www.externalsite.com 200
Wie kann ich die Taste Funktionstest und Umleitung auf eine externe Seite angeklickt werden?
Wie sieht Ihre Route aussehen? – tptcat
@tptcat Ich habe die Frage aktualisiert – myol