📚 Cheatsheet

Une collection organisée de snippets de code pour accélérer votre développement. Parcourez, recherchez et copiez en un clic.

Snippets 7

Retour
Cliquez sur un lien dans un test
Avancé
$link = $crawler->selectLink('Connexion')->link();
$crawler = $client->click($link);
Générer une classe de test fonctionnel
Facile
php bin/console make:functional-test DefaultControllerTest
Générer une classe de test unitaire
Facile
php bin/console make:unit-test CalculatriceTest
Se connecter en tant qu'utilisateur dans un test
Avancé
$userRepository = static::getContainer()->get(UserRepository::class);
$testUser = $userRepository->findOneByEmail('user@example.com');
$client->loginUser($testUser);
Soumettre un formulaire dans un test
Avancé
$form = $crawler->selectButton('Se connecter')->form([
    'email' => 'user@example.com',
    'password' => 'password',
]);
$client->submit($form);
Structure d'un test fonctionnel (WebTestCase)
Intermédiaire
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;

class DefaultControllerTest extends WebTestCase
{
    public function testSomething(): void
    {
        $client = static::createClient();
        $crawler = $client->request('GET', '/');

        $this->assertResponseIsSuccessful();
        $this->assertSelectorTextContains('h1', 'Bienvenue');
    }
}
Test de la base de données (KernelTestCase)
Avancé
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;

class UserRepositoryTest extends KernelTestCase
{
    public function testSomething(): void
    {
        self::bootKernel();
        $repository = static::getContainer()->get(UserRepository::class);
        // ...
    }
}