Rails 5 et les tests de mailer

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
  1. On crée le mail en appelant la méthode du mailer :
    email = MonMailer.envoi_mail('expediteur@example.com', 'destinataire@example.com', 'sujet')
  2. On envoie le mail et on teste qu’il est bien parti :
    assert_emails 1 do
      email.deliver_now
    end
  3. 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.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.