【发布时间】:2015-09-15 16:51:04
【问题描述】:
我尝试测试魔法宝石的登录方法,但出现错误。 我在我的 rspec 测试中使用工厂女孩作为工厂。 我要做的就是添加一个让我登录的 before 方法,然后我想测试我的控制器的操作。
我的 spec_helper.rb
require 'factory_girl'
require_relative '../spec/factories/blog.rb'
require_relative '../spec/factories/user.rb'
require_relative '../spec/factories/category.rb'
RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
config.include Sorcery::TestHelpers::Rails::Controller, type: :controller
config.include Sorcery::TestHelpers::Rails::Integration, type: :feature
config.expect_with :rspec do |expectations|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
end
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = true
end
end
我的 rails_helper.rb
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
abort("The Rails environment is running in production mode!") if Rails.env.production?
require 'spec_helper'
require 'rspec/rails'
RSpec.configure do |config|
config.infer_spec_type_from_file_location!
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
end
我在运行 rspec 时遇到的错误
Running: spec
/home/user/work/project_name/spec/spec_helper.rb:9:in `block in <top (required)>': uninitialized constant Sorcery::TestHelpers::Rails::Controller (NameError)
我的工作环境:
Rails 3.2, Ruby 1.9.3, rspec - rails 3.3, sorcery 0.8.2
【问题讨论】:
标签: ruby-on-rails rspec ruby-on-rails-3.2 sorcery