NOTA: Isto é baseado em um vídeo intitulado "Testando Email com Asserções Personalizadas" que Jeffrey Way fez em Laracasts.com. Se você não possui uma conta nesse site, deverá criar uma. É um recurso incrível. Acabamos de pegar esse exemplo e torná-lo um pacote fácil de instalar. Obrigado Jeffrey!
Asserções de email PHPUnit para testar email no Laravel.
Filial | Status | Cobertura | Qualidade do código |
---|---|---|---|
Desenvolver | |||
Mestre |
Instale o pacote dentro de suas dependências de desenvolvimento:
$ compositor requer spinen/laravel-mail-assertions --dev
Para que o pacote possa fazer afirmações nos seus e-mails, ele precisa ser capaz de “ler” as mensagens. Isso é feito analisando o log do Laravel, portanto, seu driver de email deve ser "log" para que este pacote funcione.
Você mistura as asserções com o traço SpinenMailAssertionsMailTracking
. Você obtém as seguintes afirmações ...
vejaE-mailBcc
vejaE-mailCc
vejaEmailContém
seeEmailContentTypeEquals
vejaEmailCountEquals
seeEmailDoesNotContain
vejaEmailEquals
vejaEmailDe
vejaEmailPriorityEquals
vejaEmailReplyTo
vejaEmailSubjectContém
seeEmailSubjectDoesNotContain
vejaEmailSubjectEquals
vejaE-mailPara
vejaEmailWasNotSent
vejaEmailWasSent
NOTA: Se houve mais de 1 e-mail enviado, as afirmações serão observadas no último e-mail.
<?phpuse IlluminateFoundationTestingWithoutMiddleware;use IlluminateFoundationTestingDatabaseMigrations;use IlluminateFoundationTestingDatabaseTransactions;use SpinenMailAssertionsMailTracking;classe ExampleTest estende TestCase {use MailTracking;/** * Um exemplo de teste funcional básico. * * @return void */função pública testBasicExample() {$this->visit('/rota-que-envia-um-e-mail') ->seeEmailWasSent() ->seeEmailSubject('Olá Mundo') ->seeEmailTo('[email protected]') ->seeEmailEquals('Clique aqui para comprar esta joia.') ->seeEmailContains('Clique aqui'); } }