#ruby-on-rails #rspec
#ruby-on-rails #rspec
Вопрос:
Я не могу понять, почему эти тесты не проходят внезапно:
Failure/Error: @user = test_sign_in(Factory(:user))
NoMethodError:
undefined method `test_sign_in' for #<RSpec::Core::ExampleGroup::Nested_3::Nested_1::Nested_2:0x00000100a908e8>
Есть куча ошибок при test_sign_in, а затем еще один тест, который завершается с ошибкой:
1) SessionsController POST 'create' with valid email and password should sign the user in
Failure/Error: controller.should be_signed_in
NoMethodError:
undefined method `authenticate?' for nil:NilClass
# ./spec/controllers/sessions_controller_spec.rb:51:in `block (4 levels) in <top (required)>'
2) SessionsController DELETE 'destroy' should sign a user out
Failure/Error: controller.should_not be_signed_in
NoMethodError:
undefined method `authenticate?' for nil:NilClass
# ./spec/controllers/sessions_controller_spec.rb:66:in `block (3 levels) in <top (required)>'
3) UsersController POST 'create' success should sign the user in
Failure/Error: controller.should be_signed_in
NoMethodError:
undefined method `authenticate?' for nil:NilClass
# ./spec/controllers/users_controller_spec.rb:171:in `block (4 levels) in <top (required)>'
4) Users sign in/out success should sign a user in and out
Failure/Error: controller.should be_signed_in
expected signed_in? to return true, got false
# ./spec/requests/users_spec.rb:68:in `block (4 levels) in <top (required)>'
Комментарии:
1. При обновлении rspec вы перезаписывали свой файл spec / spec_helper.rb? Был ли там определен test_sign_in?
2. Да, и я исправил эту часть. Я добавил все ошибки, которые я вижу, в исходный вопрос.
3. Где
test_sign_in
-то определено? Для какого объекта nil./spec/controllers/sessions_controller_spec.rb:51
?