Я пытаюсь найти лучший способ написать тест rspec, который будет указывать вызов mail(mail_content).deliver и вызывать исключение, чтобы я мог утверждать, что вызывается Rails.logger.
Я знаю, что вы не должны издеваться над тестируемым классом, но относится ли это к суперклассам?
class MyMailer < ActionMailer::Base
default from: '[email protected]'
default charset: 'UTF-8'
default content_type: 'text/plain'
default subject: 'Test'
def send_email (to, mail_headers_hash, mail_body)
begin
headers mail_headers_hash
mail_content = {to: to, body: mail_body}
mail(mail_content).deliver
rescue ArgumentError, StandardError => e
Rails.logger.error "Failed to email order response - #{e}"
end
end
end
end