Я пытаюсь заставить некоторые тесты Cucumber работать с Devise, и у меня есть следующее определение шага:
Given /^(?:I am|I have|I) signed up (?:as|with) "(.*)\/(.*)"$/ do |email, password|
Factory(:user, :email => email, :password => password, :password_confirmation => password)
end
И это для моей фабрики пользователей:
Factory.define :user do |u|
u.sequence(:email) { |n| "testing@example#{n}.com" }
u.password "test_pass"
u.password_confirmation "test_pass"
u.sequence(:display_name) { |n| "user#{n}" }
u.people { |i| [i.association(:person), i.association(:person)] }
end
ИУ меня загружены эти модули Devise (в app/models/user.rb
):
# Include Devise modules
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :token_authenticatable, :confirmable, :lockable, :timeoutable
Я запускаю сценарий Cucumber с помощью вышеуказанного шага, и он завершается неудачно с:
Given I am signed in as "a_new_user@example.com/test_password" # features/step_definitions/devise_steps.rb:7
Connection refused - connect(2) (Errno::ECONNREFUSED)
/Users/macbook/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/net/smtp.rb:551:in `initialize'
/Users/macbook/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/net/smtp.rb:551:in `open'
/Users/macbook/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/net/smtp.rb:551:in `block in do_start'
/Users/macbook/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/timeout.rb:57:in `timeout'
/Users/macbook/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/timeout.rb:87:in `timeout'
/Users/macbook/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/net/smtp.rb:551:in `do_start'
/Users/macbook/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/net/smtp.rb:525:in `start'
./features/step_definitions/devise_steps.rb:4:in `/^(?:I am|I have|I) signed up (?:as|with) "(.*)\/(.*)"$/'
features/users/friends.feature:7:in `Given I am signed in as "a_new_user@example.com/test_password"'
...Я предполагаю, что это связано с отправкой подтверждающего электронного письма при создании нового пользователя, которое я настроил в config/environments/cucumber.rb
:
App::Application.configure do
# sets our mailer to localhost for the mailer (Devise)
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
end
Как мне обойти это / исправить это / избежать этого?Дайте мне знать, если вам нужна дополнительная информация, чтобы помочь мне решить эту проблему ...