我在使用Capybara的导轨中运行测试时遇到问题.
每当我运行它时,它告诉我在spec_helper.rb文件中有一个’未初始化的常量Capybara(NameError)’.
我正在学习本教程:
http://www.railstutorial.org/book/static_pages#code-capybara_dsl
这是我的spec_helper.rb
RSpec.configure do |config|
config.include(Capybara::DSL)
end
我正在尝试运行此测试static_pages_spec.rb
require 'spec_helper'
describe "Static pages" do
it "should have the content 'Sample App'" do
visit '/static_pages/home'
expect(page).to have_content('Sample App')
end
如果还有其他需要的信息,请告诉我
——– UPDATE —————-
我解决了这个问题. Rspec的版本我在spec文件夹中创建了一个rails_helper.rb文件.我必须做:
require 'capybara/rspec'
在该文件和config.include Capybara :: DSL中的配置.
—–新问题————
但现在我遇到了另一个问题,就是说“访问”是不确定的.
undefined method `visit' for #<RSpec::ExampleGroups::StaticPages::AboutPage:0x000001033f5d50>
我试过要求’capybara’,并要求’capybara / dsl’,但他们仍然给我错误,然后一些.
最佳答案 我找到了问题,我正在初始化常量水豚,因为在较新版本的rspec中,当你第一次创建一个spec文件夹时,它会创建一个新文件夹“rails_helper”,它会同时创建rails_helper和spec_helper. spec文件夹中的第一个模拟斑点测试位于顶部
require 'rails_helper'
我正在按照一个教程告诉我要求’spec_helper’,但对于较新版本的rspec则不然.
所以我补充道
config.include(Capybara::DSL)
在rails helper文件夹中,一切正常,除了我的css错误,但我相信这是因为测试运行无头,所以他们不工作.显示所有错误后,规范测试运行正常.如果您还有其他问题,请告诉我.