Я следил за документацией (http://guides.rubyonrails.org/testing.html#testing-your-mailers) до некоторого успеха. В настоящее время я тестирую тело письма с помощью прибора (как описано). В моем письме есть встроенные вложения (изображения).Тестирование тела HTML с встроенными вложениями Рельсы
Мой тест (см. Ниже) работает по большей части, хотя проблема, с которой я сталкиваюсь, заключается в том, когда он сравнивает выводимый HTML с HTML, который у меня есть в приборе. Поскольку вложения кодируются, каждый сгенерированное сообщение имеет другой источник изображения (который терпит неудачу испытания, как HTML отличается (то есть).):
- Made with <img src=\"cid:[email protected]\" width=\"10\" height=\"10\" > in Toronto, Canada
+ Made with <img src=\"cid:[email protected]\" width=\"10\" height=\"10\" /> in Toronto, Canada
Есть ли способ, чтобы проверить HTML тела успешно? Есть ли способ, чтобы закодированная строка была одинаковой каждый раз?
Заранее благодарен!
require 'test_helper'
class LeadMailerTest < ActionMailer::TestCase
test "confirmation_email" do
email = LeadMailer.confirmation_email(leads(:lead), 'Varsity Heights').deliver_now
assert_not ActionMailer::Base.deliveries.empty?
assert_equal ['[email protected]'], email.from
assert_equal ['[email protected]'], email.to
assert_equal 'Your request for a showing at Varsity Heights is confirmed.', email.subject
assert_equal read_fixture('confirmation_email').join, email.html_part.body.to_s
end
end