Вы должны поместить свои электронные письма в файл, потому что по умолчанию rails в тестовой среде environemnt сохраняет их в статической переменной, к которой нельзя получить доступ из тестовой цепочки.Если вы используете rails3, установите способ доставки на :file
в огуречной среде.Если вы находитесь на rails 2.x, поместите это в инициализатор огурца:
ActionMailer::Base.class_eval do
DELIVERIES_CACHE_PATH =
File.join(RAILS_ROOT,'tmp','cache',"action_mailer_cache_deliveries {ENV['TEST_ENV_NUMBER']}.cache")
def perform_delivery_cache(mail)
deliveries = File.open(DELIVERIES_CACHE_PATH, 'r') do |f|
Marshal.load(f)
end
deliveries << mail
File.open(DELIVERIES_CACHE_PATH,'w') { |f| Marshal.dump(deliveries, f) }
end
def self.cached_deliveries
File.open(DELIVERIES_CACHE_PATH,'r') { |f| Marshal.load(f) }
end
end
config.action_mailer.delivery_method = :cache