我开始从教程中学习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-rails 4.0版本中修复,请升级您的rspec-rails gem版本
gem 'rspec-rails', '~> 4.0.0.beta4'
bundle install
并再次运行规格。
更多信息-https://github.com/rails/rails/issues/35417#issuecomment-475723528