Ошибка контроллера RSpe c неверное количество аргументов - PullRequest
2 голосов
/ 04 марта 2020

Я начинаю изучать RSpe c из учебника.

Я застрял на тестах для контроллера.

По какой-то причине я не могу запустить следующий проверьте в моем приложении:

require "rails_helper"

RSpec.describe PostsController, type: :controller do
  context "GET #index" do
    it "returns a success response" do
      get :index
      expect(response).to be_success
    end
  end
end

Я получаю ошибку:

     ActionView::Template::Error:
       wrong number of arguments (given 2, expected 1)
     # ./spec/controllers/posts_controller_spec.rb:6:in `block (3 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # ArgumentError:
     #   wrong number of arguments (given 2, expected 1)
     #   ./spec/controllers/posts_controller_spec.rb:6:in `block (3 levels) in <top (required)>'

Я не понимаю, в чем может быть проблема, потому что в учебнике это работает.

1 Ответ

2 голосов
/ 04 марта 2020

Это проблема с Rails 6 и rspe c -rails 3.x gem, которая была исправлена ​​в версии rspe c -rails 4.0, обновите rspe c -rails gem версию

gem 'rspec-rails', '~> 4.0.0.beta4'

bundle install и снова запустите спецификации.

Дополнительная информация - https://github.com/rails/rails/issues/35417#issuecomment -475723528

...