【发布时间】:2013-10-14 14:11:06
【问题描述】:
这是我第一次使用 rspec。我在运行rspec 时收到uninitialized constant FactoryGirl。我尝试在控制台中运行 rails c test,它可以正确识别 FactoryGirl。
这是 rspec 的输出:
Failures:
1) basic API gives authentication token from username and password
Failure/Error: user = FactoryGirl.create(:user, last_name: last_name)
NameError:
uninitialized constant FactoryGirl
# ./spec/requests/api/v1/api_spec.rb:4:in `block (2 levels) in <top (required)>'
Finished in 0.00069 seconds
1 example, 1 failure
Failed examples:
rspec ./spec/requests/api/v1/api_spec.rb:2 # basic API gives authentication token from username and password
这是我的规范/spec_helper.rb:
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'factory_girl_rails'
FactoryGirl.find_definitions
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
RSpec.configure do |config|
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
config.infer_base_class_for_anonymous_controllers = false
config.order = "random"
end
我不太确定 require 'factory_girl_rails 和 FactoryGirl.find_definitions 在哪里,因为在指南中它只是说“你需要做的就是运行 FactoryGirl.find_definitions”
【问题讨论】:
-
您的
api_spec.rb是否包含require 'spec_helper'? -
@phoet 不,添加了它,它现在似乎认出了它。谢谢!
-
请写一个答案并将其标记为已解决,这样其他人就不必再照顾了。
-
@phoet 你不应该是写答案的人吗?
标签: ruby-on-rails-4 factory-bot rspec-rails