Заинтересовавшись изучением BDD, я следую бесплатному Руководству по тестированию Rails, упомянутому в Настройка стека BDD в приложении rails 5 , и почти завершил главу 5 Начальная загрузка системы аутентификации пользователя .
Последняя строка на странице 39 книги гласит:
В этот момент все должно быть зеленым
Однако, когда я запускаю bundle exec cucumber
, у меня есть дванеудачные сценарии (пользователь входит в систему и пользователь выходит из системы).Выдержка из вывода огурца прилагается ниже:
When I fill in the login form #
features/step_definitions/authentication_steps.rb:29
undefined method `current_sign_in_ip' for #<User:0x0055a41ac1eeb8> (NoMethodError)
./features/step_definitions/authentication_steps.rb:32:in `"I fill in the login form"'
features/authentication.feature:15:in `When I fill in the login form'
app / models / user.rb
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:confirmable
end
db / migrate / 20181221105428_add_trackable_to_devise.rb
class AddTrackableToDevise < ActiveRecord::Migration[5.2]
def change
add_column :users, :sign_in_count, :integer, default:0, null: false
add_column :users, :current_sign_in_at, :datetime
add_column :users, :last_sign_in_at, :datetime
add_column :users, :current_sign_in_ip, :inet
add_column :users, :last_sign_in_ip, :inet
end
end
Полный код и PDF-книга доступны на github repo .
Я был бы очень признателен за любую помощь.