Ich habe eine benutzerdefinierte Fehlervorlagen in meinen Projekten für 404, 403 und andere Ausnahmen. Ich möchte Unit-Testfall erstellen, um HTTP-Fehler zu bestätigen. Wenn ich mich mit dem Benutzer anmelde und auf die autorisierte Seite des Anbieters zugreife, bekomme ich 403 Zugriff verweigert im Browser, aber im Komponententest bekomme ich immer 404 Seite nicht gefunden Fehler.Assert 403 Zugriff verweigert HTTP-Status mit PHPUnit Testfall
Hier ist mein Testszenario:
class ErrorExceptionTest extends WebTestCase
{
public function testAccessDeniedException()
{
$server['HTTP_HOST'] = 'http://www.test.com/';
$client = static::createClient(array('debug' => false), $server);
$client->disableReboot();
$session = $client->getContainer()->get('session');
$firewall = 'main';
$token = new UsernamePasswordToken('user', null, $firewall, array('ROLE_USER'));
$session->set("_security_$firewall", serialize($token));
$session->save();
$cookie = new Cookie($session->getName(), $session->getId());
$client->getCookieJar()->set($cookie);
$client->request('GET', '/vendor/profile/edit');
$this->assertEquals(403, $client->getResponse()->getStatusCode());
$this->assertContains('Sorry! Access Denied', $client->getResponse()->getContent());
}
}
Mein Testfall wird versagt, wenn ich Antwort Inhalt ausdrucken 404 Fehlervorlage zeigen.