为什么我不能检查回复?

问题描述 投票:1回答:1

我开始从教程中学习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)>'

我不知道可能是什么问题,因为在本教程中它可以工作。

ruby-on-rails rspec rspec-rails
1个回答
1
投票

这是Rails 6和rspec-rails 3.x gem的问题,已在rspec-rails 4.0版本中修复,请升级您的rspec-rails gem版本

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

bundle install并再次运行规格。

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

© www.soinside.com 2019 - 2024. All rights reserved.