RSpec 控制器错误参数数量错误

RSpec controller error wrong number of arguments

我开始从教程中学习RSpec。

我卡在了控制器测试中。

出于某种原因,我无法 运行 我的应用程序中的下一个测试:

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)>'

我不明白可能是什么问题,因为在教程中它有效。

这是 Rails 6 和 rspec-rails 3.x gem 的问题,已在 rspec- 中修复rails4.0版本,升级你的rspec-railsgem版本

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

bundle install 和 运行 规格。

更多信息 - https://github.com/rails/rails/issues/35417#issuecomment-475723528