the*_*he_ 6 ruby unit-testing rspec ruby-on-rails devise
我正在使用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
Run Code Online (Sandbox Code Playgroud)
我的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
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,我得到了错误:uninitialized constant 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4077 次 |
| 最近记录: |