HINWEIS: Dies basiert auf einem Video mit dem Titel „Testing Email With Custom Assertions“, das Jeffrey Way auf Laracasts.com gemacht hat. Wenn Sie auf dieser Website noch kein Konto haben, sollten Sie eines erstellen. Es ist eine erstaunliche Ressource. Wir haben dieses Beispiel einfach übernommen und daraus ein einfach zu installierendes Paket erstellt. Danke Jeffrey!
PHPUnit-Mail-Assertionen zum Testen von E-Mails in Laravel.
Zweig | Status | Abdeckung | Codequalität |
---|---|---|---|
Entwickeln | |||
Master |
Installieren Sie das Paket in Ihren Entwicklungsabhängigkeiten:
$ Composer erfordert spinen/laravel-mail-assertions --dev
Damit das Paket Aussagen zu Ihren E-Mails treffen kann, muss es die Nachrichten „lesen“ können. Dies geschieht durch das Parsen des Laravel-Protokolls, daher muss Ihr Mail-Treiber „log“ sein, damit dieses Paket funktioniert.
Sie mischen die Behauptungen mit der Eigenschaft SpinenMailAssertionsMailTracking
. Sie erhalten die folgenden Behauptungen ...
sieheEmailBcc
sieheEmailCc
sieheEmailContains
sieheEmailContentTypeEquals
sieheEmailCountEquals
sieheEmailDoesNotContain
sieheEmailEquals
sieheEmailFrom
sieheEmailPriorityEquals
sieheEmailReplyTo
sieheEmailSubjectContains
sieheEmailSubjectDoesNotContain
sieheEmailSubjectEquals
sieheEmailTo
sieheEmailWasNotSent
sieheEmailWasSent
HINWEIS: Wenn mehr als eine E-Mail gesendet wurde, beziehen sich die Behauptungen auf die letzte E-Mail.
<?phpuse IlluminateFoundationTestingWithoutMiddleware;use IlluminateFoundationTestingDatabaseMigrations;use IlluminateFoundationTestingDatabaseTransactions;use SpinenMailAssertionsMailTracking;class exampleTest erweitert TestCase {use MailTracking;/** * Ein einfaches Beispiel für einen Funktionstest. * * @return void */public function testBasicExample() {$this->visit('/route-that-sends-an-email') ->seeEmailWasSent() ->seeEmailSubject('Hello World') ->seeEmailTo('[email protected]') ->seeEmailEquals('Klicken Sie hier, um diesen Schmuck zu kaufen.') ->seeEmailContains('Hier klicken'); } }