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


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
Auteur

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 ?