我正在使用RSpec和Capybara的Rails 4应用程序.
我的gemfile看起来像:
source 'https://rubygems.org' gem 'rails','4.0.0' gem 'pg' gem 'devise' gem 'sass-rails','~> 4.0.0' gem 'uglifier','>= 1.3.0' gem 'coffee-rails','~> 4.0.0' gem 'jquery-rails' gem 'jquery-turbolinks' gem 'turbolinks' gem "rspec-rails",:group => [:test,:development] group :test do gem "factory_girl_rails","~> 4.0" gem "capybara" gem "guard-rspec" end
我的spec_helper.rb文件如下所示:
require "capybara/rspec" include Capybara::DSL RSpec.configure do |config| config.include Devise::TestHelpers,:type => :controller config.extend ControllerMacros,:type => :controller end
但由于某种原因我得到错误:未初始化的常量Devise(NameError)
.在我的应用程序中,Devise正常工作,我在spec / support中有ControllerMacros文件.
解决方法
试试这个:
你的spec_helper应该是这样的
ENV["RAILS_ENV"] ||= 'test' require File.expand_path("../../config/environment",__FILE__) require 'rspec/rails' require "capybara/rspec" include Capybara::DSL RSpec.configure do |config| config.include Devise::TestHelpers,:type => :controller config.extend ControllerMacros,:type => :controller end