ruby-on-rails – 单位化常数设计RSPEC

我正在使用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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...