Functional Test specific Assertions
Edit this pageWarning: You are browsing the documentation for Symfony 4.3, which is no longer maintained.
Read the updated version of this page for Symfony 7.0 (the current stable version).
Functional Test specific Assertions
4.3
The shortcut methods for assertions using WebTestCase
were introduced
in Symfony 4.3.
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.
Here is an example with plain PHPUnit:
1 2 3 4
$this->assertGreaterThan(
0,
$crawler->filter('html:contains("Hello World")')->count()
);
Now here is the example with the assertions specific to Symfony:
1
$this->assertSelectorTextContains('html', 'Hello World');
Note
These assertions only work if a request has been made with the Client
in a test case extending the WebTestCase
class.
Assertions Reference
Response
assertResponseIsSuccessful()
assertResponseStatusCodeSame()
assertResponseRedirects()
assertResponseHasHeader()
assertResponseNotHasHeader()
assertResponseHeaderSame()
assertResponseHeaderNotSame()
assertResponseHasCookie()
assertResponseNotHasCookie()
assertResponseCookieValueSame()
Request
assertRequestAttributeValueSame()
assertRouteSame()
Browser
assertBrowserHasCookie()
assertBrowserNotHasCookie()
assertBrowserCookieValueSame()
Crawler
assertSelectorExists()
assertSelectorNotExists()
assertSelectorTextContains()
assertSelectorTextSame()
assertSelectorTextNotContains()
assertPageTitleSame()
assertPageTitleContains()
assertInputValueSame()
assertInputValueNotSame()
Troubleshooting
These assertions will not work with symfony/panther as they use the
Request
and Response
objects from the HttpFoundation
component, and the KernelBrowser
from the FrameworkBundle
.
Panther only uses the BrowserKit
component.