Functional Test specific Assertions

5.0 version
Maintained Unmaintained

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('', $client->getResponse()->headers->get('Location'));

This is the same example using the assertions provided by Symfony:

$this->assertResponseRedirects('', 301);


These assertions only work if a request has been made with the Client in a test case extending the WebTestCase class.

Assertions Reference


  • assertResponseIsSuccessful()
  • assertResponseStatusCodeSame()
  • assertResponseRedirects()
  • assertResponseHasHeader()
  • assertResponseNotHasHeader()
  • assertResponseHeaderSame()
  • assertResponseHeaderNotSame()
  • assertResponseHasCookie()
  • assertResponseNotHasCookie()
  • assertResponseCookieValueSame()


  • assertRequestAttributeValueSame()
  • assertRouteSame()


  • assertBrowserHasCookie()
  • assertBrowserNotHasCookie()
  • assertBrowserCookieValueSame()



You cannot use the Crawler assertions, 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()


  • assertEmailCount()
  • assertQueuedEmailCount()
  • assertEmailIsQueued()
  • assertEmailIsNotQueued()
  • assertEmailAttachementCount()
  • assertEmailTextBodyContains()
  • assertEmailTextBodyNotContains()
  • assertEmailHtmlBodyContains()
  • assertEmailHtmlBodyNotContains()
  • assertEmailHasHeader()
  • assertEmailNotHasHeader()
  • assertEmailHeaderSame()
  • assertEmailHeaderNotSame()
  • assertEmailAddressContains()

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.