我想我在使用rails配置FactoryGirl时遇到问题。我最初遵循ASCIIcasts #275: how i test,但耙给我NameError: uninitialized constant ...
如何正确设置和使用factory_girl_rails?
我错过了什么吗?有可能某些配置文件是错误的吗?我对RSpec和Rails很新。
我使用的Rails 3.2.2 + Mongoid + RSpec的 + factory_girl_rails。
错误:
Failures:
1) User should save user with valid required fields
Failure/Error: let(:user) { FactoryGirl.build(:valid_user) }
NameError:
uninitialized constant ValidUser
# ./spec/models/user_spec.rb:4:in `block (2 levels) in <top (required)>'
# ./spec/models/user_spec.rb:7:in `block (2 levels) in <top (required)>'
规格/ factories.rb
FactoryGirl.define do
factory :valid_user do
name 'somename'
email '[email protected]'
password 'somepassword'
end
end
规格/型号/ user_spec.rb
require 'spec_helper'
describe User do
let(:user) { FactoryGirl.build(:valid_user) }
it "should save user with valid required fields" do
user.should be_valid
end
end
规格/ spec_helper.rb
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.infer_base_class_for_anonymous_controllers = false
config.include FactoryGirl::Syntax::Methods
end
感谢您的回答。我添加了整个错误信息。显然,'Factory.build'很快就会被弃用。 (拒绝警告:Factory.build已弃用;请改用FactoryGirl.build。) – 2012-03-29 15:39:26
好的,我更新了我的答案。 – muffinista 2012-03-29 17:32:10
哇,傻我!我应该想知道工厂女孩应该如何猜测模型!非常感谢。 – 2012-03-29 18:48:32