Functional Test specific Assertions¶
When doing functional tests, sometimes you need to make complex assertions in
order to check whether the Request
, the Response
or the Crawler
contain the expected information to make your test succeed.
The following example uses plain PHPUnit to assert that the response redirects to a certain URL:
$this->assertSame(301, $client->getResponse()->getStatusCode());
$this->assertSame('https://example.com', $client->getResponse()->headers->get('Location'));
This is the same example using the assertions provided by Symfony:
$this->assertResponseRedirects('https://example.com', 301);
Assertions Reference¶
Response¶
注釈
The following assertions only work if a request has been made with the
Client
in a test case extending the WebTestCase
class.
assertResponseIsSuccessful()
assertResponseStatusCodeSame()
assertResponseRedirects()
assertResponseHasHeader()
assertResponseNotHasHeader()
assertResponseHeaderSame()
assertResponseHeaderNotSame()
assertResponseHasCookie()
assertResponseNotHasCookie()
assertResponseCookieValueSame()
Request¶
注釈
The following assertions only work if a request has been made with the
Client
in a test case extending the WebTestCase
class.
assertRequestAttributeValueSame()
assertRouteSame()
Browser¶
注釈
The following assertions only work if a request has been made with the
Client
in a test case extending the WebTestCase
class.
assertBrowserHasCookie()
assertBrowserNotHasCookie()
assertBrowserCookieValueSame()
Crawler¶
注釈
The following assertions only work if a request has been made with the
Client
in a test case extending the WebTestCase
class. In addition,
they are not available when using symfony/panther for end-to-end testing.
assertSelectorExists()
assertSelectorNotExists()
assertSelectorTextContains()
(note: it only checks the first selector occurrence)assertSelectorTextSame()
(note: it only checks the first selector occurrence)assertSelectorTextNotContains()
(note: it only checks the first selector occurrence)assertPageTitleSame()
assertPageTitleContains()
assertInputValueSame()
assertInputValueNotSame()
Mailer¶
バージョン 5.1 で追加: Starting from Symfony 5.1, the following assertions no longer require to make
a request with the Client
in a test case extending the WebTestCase
class.
assertEmailCount()
assertQueuedEmailCount()
assertEmailIsQueued()
assertEmailIsNotQueued()
assertEmailAttachementCount()
assertEmailTextBodyContains()
assertEmailTextBodyNotContains()
assertEmailHtmlBodyContains()
assertEmailHtmlBodyNotContains()
assertEmailHasHeader()
assertEmailNotHasHeader()
assertEmailHeaderSame()
assertEmailHeaderNotSame()
assertEmailAddressContains()