NOTA: Esto se basa en un video titulado "Prueba de correo electrónico con afirmaciones personalizadas" que Jeffrey Way hizo en Laracasts.com. Si no tiene una cuenta en ese sitio, debe crear una. Es un recurso asombroso. Acabamos de tomar ese ejemplo y lo convertimos en un paquete fácil de instalar. Gracias jeffrey!
Aserciones de correo PHPUnit para probar el correo electrónico en Laravel.
Rama | Estado | Cobertura | Calidad del código |
---|---|---|---|
Desarrollar | |||
Maestro |
Instale el paquete dentro de sus dependencias de desarrollo:
$ compositor requiere spinen/laravel-mail-assertions --dev
Para que el paquete pueda hacer afirmaciones en sus correos electrónicos, debe poder "leer" los mensajes. Lo hace analizando el registro de Laravel, por lo que su controlador de correo debe ser "registro" para que este paquete funcione.
Mezclas las afirmaciones con el rasgo SpinenMailAssertionsMailTracking
. Obtienes las siguientes afirmaciones...
verCorreo electrónicoCco
verCorreo electrónicoCc
verCorreo electrónicoContiene
verEmailContentTypeEquals
verEmailCountEquals
verEl correo electrónico no contiene
vercorreo electrónicoigual
vercorreo electrónicodesde
verPrioridadEmailEquals
verCorreo electrónicoResponder a
verEmailAsuntoContiene
verEl asunto del correo electrónico no contiene
verCorreo electrónicoAsuntoEquals
vercorreo electrónico a
verEl correo electrónico no fue enviado
verCorreo electrónico fue enviado
NOTA: Si se envió más de un correo electrónico, las afirmaciones miran el último correo electrónico.
<?phpuse IlluminateFoundationTestingWithoutMiddleware;use IlluminateFoundationTestingDatabaseMigrations;use IlluminateFoundationTestingDatabaseTransactions;use SpinenMailAssertionsMailTracking;clase EjemploTest extiende TestCase {use MailTracking;/** * Un ejemplo de prueba funcional básica. * * @return void */función pública testBasicExample() {$esta->visita('/ruta-que-envía-un-correo electrónico') ->verEmailWasSent() ->verEmailSubject('Hola mundo') ->verCorreo electrónico a('[email protected]') ->seeEmailEquals('Haga clic aquí para comprar esta joyería.') ->seeEmailContains('Haga clic aquí'); } }