Test SwifMailer impossible

Par Guilar, il y a 8 ans


Bonjour,

j'essaye de réaliser un test de swiftmailer.

Ce que je fais

Voici mon code test de swift mailer

public function testSwiftMailer() { aroundaroundaround $client = static::createClient(); $client->enableProfiler(); $crawler = $client->request('POST', '/validation/6'); $mailCollector = $client->getProfile()->getCollector('swiftmailer'); $this->assertEquals(1, $mailCollector->getMessageCount()); $collectedMessages = $mailCollector->getMessages(); $message = $collectedMessages[0]; }

Ce que je veux

Lorsque la personne à acheter un billet elle est redirigée vers une page de confirmation à ce moment j'utilise le service swiftmailer pour envoyer les billets par mail.

Ce que j'obtiens

"Failed asserting that 0 matches expected 1". Le code en lui même me parait bon, et dans mon controller j'utilise bien mon service lors de /validation/id

merci par avance pour m'éclairer je suis vraiment débutant avec Symfony.

2 réponses

yanis-git, il y a 8 ans

Ton erreur est explicite :

$this->assertEquals(1, $mailCollector->getMessageCount()); // Attend 1 mais reçois 0. Tu as donc aucun message.

Il faudrait comprendre ce que fais ce $mailCollector et j'imagine, comprendre pourquoi ton service n'envoie pas le message.

Guilar, il y a 8 ans

Merci de ta réponse, effectivement c'est plutôt clair seulement je ne comprends pas pourquoi il ne retourne rien, car au moment ou la personne est redirigée sur validation/id un email lui est envoyé.

$mailCollerctor est censé collecté les mails envoyé lors de cette redirection puis de compter combien de mail a été envoyé non ?