Я получаю странную ошибку rspec при прохождении учебника Учебного Rails by Example Майка Хартла.
На стр. 419, листинг 10.30: Код выглядит следующим образом:
it "should have an element for each user" do
get :index
@users[0..2].each do |user|
response.should have_selector("li", :content => user.name)
end
end
И когда я запускаю rspec, я получаю это сообщение об ошибке.:
Сбои:
1) UsersController GET 'index' for signed-in-users should have an element for each user
Failure/Error: @users[0..2].each do |user|
NoMethodError:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.[]
# ./spec/controllers/users_controller_spec.rb:40
Finished in 2.58 seconds 75 examples, 1 failure
Failed examples:
rspec ./spec/controllers/users_controller_spec.rb:38 # UsersController GET 'index' for >signed-in-users should have an element for each user
Я провел некоторые исследования и обнаружил подобные проблемы в этой теме, но все еще не смогчтобы пройти тест.
Есть идеи?
Справочные ссылки:
Почему мои тесты RSpec не проходят, а мое приложение работает?
Файлы cookie не сохраняются в Rspec на рельсах 3.1
Руководство по Rails, глава 10.3.3 - 4 ошибки RSpec (приложение работает)