Bla*_*man 8 rspec ruby-on-rails
我有一个全新的 rails 6 应用程序,我安装了 rspec。
我创建了一个控制器,当我运行 rspec 时出现此错误:
Run Code Online (Sandbox Code Playgroud)PagesController GET #index returns http success Failure/Error: get :index ActionView::Template::Error: wrong number of arguments (given 2, expected 1) # ./spec/controllers/pages_controller_spec.rb:7:in `block (3 levels) in <top (required)>' # ------------------ # --- Caused by: --- # ArgumentError: # wrong number of arguments (given 2, expected 1) # ./spec/controllers/pages_controller_spec.rb:7:in `block (3 levels) in <top (required)>'
生成的 rspec 测试如下所示:
require 'rails_helper'
RSpec.describe CartController, type: :controller do
describe "GET #index" do
it "returns http success" do
get :index
expect(response).to have_http_status(:success)
end
end
end
Run Code Online (Sandbox Code Playgroud)
生成的代码中是否存在错误,还是其他一些环境问题是导致此问题的原因?
我没有看到任何地方有 2 个参数?
ano*_*rmh 10
根据Rails 6的以下GitHub 问题,升级到rspec-rails 4.0:
gem 'rspec-rails', '~> 4.0.0.beta3'
Run Code Online (Sandbox Code Playgroud)
这也在rspec-rails 的这个 GitHub 问题中被引用。
这个问题会产生非常规律的流量,而 rspec-rails 现在远远超过 4.0.0beta3 版本。(截至今天的 v5.0.1)始终在https://rubygems.org/gems/rspec-rails 上检查最新版本并使用它:
gem 'rspec-rails', '~> 5.0.1'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1906 次 |
| 最近记录: |