メインコンテンツまでスキップ

メーラーのURLヘルパーの例

メーラースペックは、type: :mailerとマークされます。または、 config.infer_spec_type_from_file_location!を設定している場合は、spec/mailersに配置されます。

デフォルトオプションを使用したURLヘルパーの使用方法

以下の内容で「config/initializers/mailer_defaults.rb」という名前のファイルがあるとします。

Rails.configuration.action_mailer.default_url_options = { :host => 'example.com' }

以下の内容で「spec/mailers/notifications_spec.rb」という名前のファイルがあるとします。

require 'rails_helper'

RSpec.describe NotificationsMailer, type: :mailer do
it 'should have access to URL helpers' do
expect { gadgets_url }.not_to raise_error
end
end

rspec specを実行すると、

すべての例がパスするはずです。

デフォルトオプションなしでURLヘルパーを使用する方法

以下の内容で「config/initializers/mailer_defaults.rb」という名前のファイルがあるとします。

# no default options

以下の内容で「spec/mailers/notifications_spec.rb」という名前のファイルがあるとします。

require 'rails_helper'

RSpec.describe NotificationsMailer, type: :mailer do
it 'should have access to URL helpers' do
expect { gadgets_url :host => 'example.com' }.not_to raise_error
expect { gadgets_url }.to raise_error
end
end

rspec specを実行すると、

すべての例がパスするはずです。