2011-08-08 13 views
6

私は工場の女の子にRSpec for Sporkを使用しようとしています。私がスパークなしでテストを実行するたびに、すべてが成功しますが、Sporkで実行すると、別の工場に依存するファクトリのインスタンスを作成しようとするすべてのテストが失敗します。たとえば、次のように工場女の子団体とスパークの相違

3) Invitation has a correctly formed body 
    Failure/Error: request = FactoryGirl.create(:request, ....) 
    NoMethodError: 
    undefined method `user=' for #<Request:0x007f86b6a87890> 

そしてこの

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にセッターを呼び出そうとしたように私のfactories.rbコードは、大きく見えます。なぜこれが起こっているのでしょうか?リクエスト工場:

ここで私は

gem 'rails', '3.0.7' 
gem 'rspec-rails', '2.6.1' 
gem 'spork', '0.9.0.rc5' 
gem 'factory_girl_rails', '1.0' 
+2

あなたの質問はお手伝いできませんが、質問のタイトルは本当に面白く聞こえないので+1してください。 – darvids0n

答えて

0

を使用しているバージョンでは、それが会合または作成しようとするすべてのテストを持っている任意のテスト本当にありますか?私はsporkを使ったことはありませんが、実際にはそれがなくても動作しているので、spork/factory_girlが "Request"で争っているかどうか疑問に思っています。

6

require 'factory_girl_railsSpork.each_runブロックにありますか? spec_helper.rbで

gem "factory_girl_rails", :require => false 

:それは役立ちますが、それはショットの価値がある

Spork.each_run do 

    require 'factory_girl_rails' 
    FactoryGirl.factories.clear 
    FactoryGirl.reload 

end 

わからない場合

は、私は私のgemfileに次のように使用しています。

+1

'FactoryGirl.factories.clear'と' FactoryGirl.reload'は必要ありません(少なくとも最新のfactory_girlでは)。 –

+0

いいです、うまく動作します – mhenrixon

関連する問題