интеграционные тесты для разработки восстановления пароля с использованием rspec, capybara и email_spec

Я пытаюсь проверить восстановление пароля с помощью rspec/capybara, используя email_spec

Мой test.rb содержит:

config.action_mailer.delivery_method = :test

Мой тест выглядит следующим образом:

feature User do
  let!(:user){ FactoryGirl.build(:user) }

  before(:each) do
    visit root_path
    click_link "Sign up/in"
  end

  scenario "recover password" do
    user.save!
    click_link "Forgot password?"
    fill_in "Email", :with => user.email
    click_button "Send me reset password instructions"
    unread_emails_for(user.email).should be_present
  end

Мой тест не работает так:

  1) User recover password
     Failure/Error: click_button "Send me reset password instructions"
     ActionView::Template::Error:
       Missing host to link to! Please provide the :host parameter,
       set default_url_options[:host], or set :only_path to true

Если я установлю default_url_options, rspec попытается отправить почту. Я не слишком уверен в :only_path.

Может ли кто-нибудь указать мне в правильном направлении? Большое спасибо.


person Rimian    schedule 03.03.2013    source источник
comment
stackoverflow.com/questions/7284413/   -  person apneadiving    schedule 03.03.2013


Ответы (1)


Установите следующую строку в /config/environments/test.rb:

config.action_mailer.default_url_options = { :host => 'localhost:3000' }
person Rudi    schedule 29.05.2013