Hatte ich schon probiert. Eigentlich sollte ja FactoryGirl.find_definitions 
genau das auch machen.

Immerhin funktioniert es, wenn ich die abhängige Factory in die gleiche Datei 
stecke. Für's erste reicht das. Wird auf Dauer halt etwas unübersichtlich.

MK


Am 05.04.2012 um 10:46 schrieb Tobias Weiß:

> Hm, eigentlich sollte FactoryGirl alle Factories automatisch laden.
> Falls das (aus welchen Gründen auch immer) nicht geht, versuch es mal
> mit folgendem Code in spec_helper.rb (ungetestet):
> 
> if (!FactoryGirl.factories || FactoryGirl.factories.empty?)
>  Dir.glob(File.dirname(__FILE__) + "/factories/*.rb").each do |factory|
>    require factory
>  end
> end
> 
> Ich kann mich erinnern, dass ich die Factories in einer älteren
> FG-Version auch mal manuell importieren musste.
> 
> Gruß, Tobi
> 
> ===
> Am 5. April 2012 09:46 schrieb rubyonrails...@galt.de 
> <rubyonrails...@galt.de>:
>> Hallo,
>> 
>> vielleicht kann mir mal wieder jemand auf die Sprünge helfen. Ich habe eine 
>> Factory (FactoryGirl) in der ein Objekt aus einer anderen Factory gebildet 
>> werden soll. Aber das funktioniert aus irgendwelchen Gründen nicht.
>> 
>> 
>> spec/factories/address_converter.rb ->
>> 
>> FactoryGirl.define do
>> 
>>  factory :address_converter  do
>>    address_import = FactoryGirl.create(:address_import)
>>    initialize_with { AddressConverter.new(address_import) }
>>  end
>> 
>> end
>> 
>> 
>> Was ich erhalte ist:
>> ..gems/factory_girl-3.0.0/lib/factory_girl/registry.rb:16:in `find': Factory 
>> not registered: address_import (ArgumentError)
>> 
>> 
>> Die Datei address_import.rb existiert jedoch:
>> 
>> spec/factories/address_import.rb ->
>> 
>> # coding: utf-8
>> 
>> FactoryGirl.define do
>> 
>>  factory :address_import do
>>    name "Import"
>>    fields "gender;first_name;last_name;email;company"
>>    raw_format "blah"
>>  end
>> 
>> end
>> 
>> 
>> 
>> Laut Doku müßte es funktionieren, weil, wenn ich es richtig verstanden habe, 
>> „require 'factory_girl_rails'“, automatisch alle factories in spec/factories 
>> lädt.
>> 
>> Oder habe ich etwas falsch verstanden?
>> 
>> Viele Grüße
>> 
>> Michael Kastner
>> 
>> 
>> 
>> 
>> _______________________________________________
>> rubyonrails-ug mailing list
>> rubyonrails-ug@headflash.com
>> http://mailman.headflash.com/listinfo/rubyonrails-ug
> _______________________________________________
> rubyonrails-ug mailing list
> rubyonrails-ug@headflash.com
> http://mailman.headflash.com/listinfo/rubyonrails-ug
> 

_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an