我正在尝试在RSpec和Spork中使用Factory Girl。每当我不使用Spork运行我的测试时,所有测试都通过,但是当我使用Spork运行时,所有试图创建依赖于另一个工厂的工厂实例的测试都会失败。例如:
3) Invitation has a correctly formed body
Failure/Error: request = FactoryGirl.create(:request, ....)
NoMethodError:
undefined method `user=' for #<Request:0x007f86b6a87890>
我的`factories.rb`代码大致如下。
FactoryGirl.define do
factory :user do
sequence(:first_name) { |n| "first_name#{n}" }
sequence(:last_name) { |n| "last_name#{n}" }
end
factory :request do
association :user, :factory => :user, :is_walker => false
end
end
当存在关联时,我的代码似乎只会出现问题,然后它试图在:user
上调用setter。这可能是为什么?
以下是我正在使用的版本
gem 'rails', '3.0.7'
gem 'rspec-rails', '2.6.1'
gem 'spork', '0.9.0.rc5'
gem 'factory_girl_rails', '1.0'