簡體   English   中英

Rails應用程序中未初始化的常量水豚(NameError)

[英]uninitialized constant Capybara (NameError) in rails app

c:/mowes/www/rails_projects/sample_app/spec/spec_helper.rb:4:in'中的塊:未初始化的常量水豚(NameError)

spec / spec_helper.rb

# This file is copied to spec/ when you run 'rails generate rspec:install'

RSpec.configure do |config|
  config.include Capybara::DSL
end

我的Gemfile中有gem'capybara gem 'capybara', '2.1.0' ,所以我不知道發生了什么。

您必須將config.include Capybara::DSL rails_helper.rb config.include Capybara::DSL添加到rails_helper.rb ,而不是添加到spec_helper.rb 它對我來說很完美!

我認為這可行。 嘗試在spec_helper.rb添加這些行

RSpec.configure do |config|
 config.fixture_path = "#{::Rails.root}/spec/fixtures"
 config.use_transactional_fixtures = true
 config.infer_base_class_for_anonymous_controllers = false
 config.order = "random" 
 config.include Capybara::DSL
end

您已經運行捆綁安裝了嗎? 你加了嗎

require 'capybara/rails' 

在rails_helper.rb中

如果您使用的是水豚,則可能需要按照此處的說明進行操作。

如果您在規格中看到此錯誤,盡管在spec_helper.rb導入了spec_helper.rb ,但在根目錄下添加.rspec --require spec_helper行的--require spec_helper應該可以解決此問題:

在此處輸入圖片說明

我將config.include Capybara::DSL to rails_helper.rb添加config.include Capybara::DSL to rails_helper.rb ,而不是添加到spec_helper.rb 確實有幫助。

我也反對這個問題。 我正在學習MOOC,並且測試文件是從另一個地方復制的。 由於.repec是隱藏文件,因此在我復制時,並未復制此文件。 我使用Command + shift +。 顯示文件並將其復制到項目根目錄,此問題已解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM