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.

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

Note

You cannot use the Crawler assertions, when using symfony/panther for end-to-end testing.

  • assertSelectorExists()
  • assertSelectorNotExists()
  • assertSelectorTextContains()
  • assertSelectorTextSame()
  • assertSelectorTextNotContains()
  • assertPageTitleSame()
  • assertPageTitleContains()
  • assertInputValueSame()
  • assertInputValueNotSame()