válido para Symfony 1.3 y 1.4
La integración de la librería no hubiera sido completa sin una forma sencilla
de realizar pruebas con mensajes de correo electrónico. Para facilitar las
pruebas con emails, symfony dispone de un tester denominado mailer (clase
sfMailerTester)
El método hasSent() prueba el número de mensajes enviados durante la
petición actual:
$browser-> get('/foo')-> with('mailer')-> hasSent(1) ;
El código anterior comprueba que la URL /foo solamente envía un email.
Se pueden realizar pruebas más detalladas con cada email enviado gracias a los
métodos checkHeader() y checkBody():
$browser-> get('/foo')-> with('mailer')->begin()-> hasSent(1)-> checkHeader('Asunto', '/Asunto/')-> checkBody('/Cuerpo/')-> end() ;
El segundo argumento de checkHeader() y el primero de checkBody() pueden
ser cualquiera de los siguientes elementos:
!) que no debe cumplir el valor comprobadoLas comprobaciones siempre se realizan sobre el primer mensaje enviado. Si se
han enviado varios mensajes, puedes elegir cual quieres comprobar mediante el
método withMessage().
$browser-> get('/foo')-> with('mailer')->begin()-> hasSent(2)-> withMessage('destinatario@ejemplo.com')-> checkHeader('Asunto', '/Asunto/')-> checkBody('/Cuerpo/')-> end() ;
El método withMessage() toma como primer argumento un destinatario. Si se
han enviado varios mensajes al mismo destinatario, también toma como segundo
argumento el mensaje que se quiere probar.
Por último, el método debug() muestra toda la información sobre los
mensajes enviados para detectar fácilmente la causa de los problemas:
$browser-> get('/foo')-> with('mailer')-> debug() ;
válido para Symfony 1.3 y 1.4