Les tests se passent dans le dossier test/mailers.
Créer un nouveau fichier avec le format suivant : nom_du_mailer_test.rb (ex : notification_test.rb)
Squelette du fichier :
require 'test_helper' class NomDuMailerTest < ActionMailer::TestCase end
/!\ Vérifier dans le fichier de config/test.rb, que la ligne suivante soit bien présente :
config.action_mailer.delivery_method = :test
- On crée le mail en appelant la méthode du mailer :
email = MonMailer.envoi_mail(
'expediteur@example.com'
,
'destinataire@example.com'
,
'sujet'
)
- On envoie le mail et on teste qu’il est bien parti :
assert_emails 1 do email.deliver_now end
- On teste l’expéditeur, le sujet, le destinataire …. :
assert_equal [
'expediteur@example.com'
], email.from
assert_equal [
'destinataire@example.com'
], email.to
assert_equal
'sujet'
, email.subject
Pour plus d’informations sur les tests de mailers, et notamment l’utilisation avec des fixtures, aller lire l’article suivant : http://guides.rubyonrails.org/testing.html#testing-your-mailers.