/ / WebTestCase: utilisez un robot pour tester une chaîne - php, testing, symfony, fonctionnal-testing, web-crawler

WebTestCase: utilisez un robot pour tester une chaîne - php, testing, symfony, fonctionnal-testing, web-crawler

Existe-t-il un moyen d’utiliser le robot WebTestCase sur une chaîne? Normalement, si je souhaite effectuer un test à l'aide de WebTestCase, je procéderais comme ci-dessous, à l'aide de client:

public function testInitialPage()
{
$client = $this->createClient();
$crawler = $client->request("GET", "/");

$this->assertCount(1, $crawler->filter("h1:contains("Contact us")"));
...
}

Maintenant, j'aimerais savoir s'il est possible d'utiliser le robot sur une chaîne, ce qui donne l'impression suivante:

public function testInitialPage()
{
...
$crawler = Crawler::createCrawler("<h1>Contact us</h1>");
$this->assertCount(1, $crawler->filter("h1:contains("Contact us")"));
...
}

Merci!

Réponses:

0 pour la réponse № 1

Si vous importez la classe Crawler à partir du DomCrawler composant, vous pouvez l'utiliser dans votre test.

namespace AcmeTests;

//...
use SymfonyComponentDomCrawlerCrawler;

class ContactTest extends WebTestCase
{
public function testHeadlineOnContactUs()
{
$crawler = new Crawler("<h1>Contact us</h1>");
$this->assertCount(1, $crawler->filter("h1:contains("Contact us")"));
}
}