REMARQUE : Ceci est basé sur une vidéo intitulée "Test du courrier électronique avec des assertions personnalisées" réalisée par Jeffrey Way sur Laracasts.com. Si vous n'avez pas de compte sur ce site, vous devriez en créer un. C'est une ressource incroyable. Nous venons de prendre cet exemple et en avons fait un package facile à installer. Merci Jeffrey!
Assertions de courrier PHPUnit pour tester le courrier électronique dans Laravel.
Bifurquer | Statut | Couverture | Qualité du code |
---|---|---|---|
Développer | |||
Maître |
Installez le package dans vos dépendances de développement :
$ composer nécessite spinen/laravel-mail-assertions --dev
Pour que le package puisse faire des assertions sur vos emails, il doit être capable de « lire » les messages. Il le fait en analysant le journal Laravel, votre pilote de messagerie doit donc être "log" pour que ce package fonctionne.
Vous mélangez les assertions avec le trait SpinenMailAssertionsMailTracking
. Vous obtenez les affirmations suivantes...
voirEmailCci
voirEmailCc
voirEmailContains
seeEmailContentTypeEquals
seeEmailCountEquals
voirEmailDoesNotContain
seeEmailEquals
voirEmailDe
seeEmailPriorityEquals
voirEmailRépondreÀ
seeEmailSubjectContains
voirEmailSubjectDoesNotContain
seeEmailSubjectEquals
voirEmailÀ
voirEmailWasNotSent
voirEmailÉtéEnvoyé
REMARQUE : Si plusieurs e-mails ont été envoyés, les assertions portent sur le dernier e-mail.
<?phpuse IlluminateFoundationTestingWithoutMiddleware;use IlluminateFoundationTestingDatabaseMigrations;use IlluminateFoundationTestingDatabaseTransactions;use SpinenMailAssertionsMailTracking;class ExempleTest étend TestCase {use MailTracking;/** * Un exemple de test fonctionnel de base. * * @return void */public function testBasicExample() {$this->visit('/route-qui-envoie-un-e-mail') ->voirEmailWasSent() ->voirEmailSubject('Bonjour tout le monde') ->voirEmailTo('[email protected]') ->seeEmailEquals('Cliquez ici pour acheter ce bijou.') ->seeEmailContains('Cliquez ici'); } }