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