Je tente d'exécuter mon premier test fonctionnel dans Symfony2 à l'aide de DemoController.Objet de la classe Symfony Component DomCrawler Crawler n'a pas pu être converti en chaîne
Si je charge la page à partir du navigateur, les données affichées sont correctes. Mais si je tente de lancer le test en utilisant la commande phpunit -c app
je reçu le message d'erreur suivant:
There was 1 error:
1) Blog\CoreBundle\Tests\Controller\AuthorControllerTest::testShow
Object of class Symfony\Component\DomCrawler\Crawler could not be converted to string
Voici ma classe AuthorControllerTest:
<?php
namespace Blog\CoreBundle\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
/**
* Class AuthorControllerTest
*/
class AuthorControllerTest extends WebTestCase
{
/**
* Test show author
*/
public function testShow()
{
$client = static::createClient();
/** @var Author $author */
$author = $client->getContainer()
->get('doctrine')
->getManager()
->getRepository('ModelBundle:Author')
->findFirst();
$authorPostCount = $author->getPosts()->count();
$crawler = $client->request('GET', '/author/'.$author->getSlug());
$this->assertTrue($client->getResponse()->isSuccessful(), 'The response was not successful');
$this->assertTrue($authorPostCount, $crawler->filter('h2'), 'There should be '.$authorPostCount.' posts');
}
}
J'ai mis à jour ma réponse. – pazulx