工厂女孩与 Spork 差异的关联
我正在尝试将 Factory Girl 与 Spork 一起用于 RSpec。每当我在没有 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
。为什么会发生这种情况?
这是我正在使用的版本
gem 'rails', '3.0.7'
gem 'rspec-rails', '2.6.1'
gem 'spork', '0.9.0.rc5'
gem 'factory_girl_rails', '1.0'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的
Spork.each_run
块中是否有require 'factory_girl_rails
?我在 gemfile 中使用了以下内容:
在 spec_helper.rb 中:
不确定它是否有帮助,但值得一试。
Do you have
require 'factory_girl_rails
in yourSpork.each_run
block?I have use the following in my gemfile:
in spec_helper.rb:
Not sure if it will help but it's worth a shot.
是否真的有任何具有关联的测试或任何尝试创建 :request 工厂的测试?我从来没有使用过 spork,但事实上它在没有它的情况下也能工作,这让我想知道 spork/factory_girl 是否正在争夺“请求”......值得研究。
Is it really any tests that have an association or any tests that try to create a :request factory? I've never used spork, but the fact it works without it makes me wonder if spork/factory_girl are fighting over "Request"... worth looking into.