2012-02-08 1 views
1

Что делать, если я хочу сделать что-то вродеFactoryGirl и переменные внутри завода

FactoryGirl.define do 
    factory :leaf do 
    end 

    factory :tree do 
    l = [] 
    leaves do 
     l << Factory.build(:leaf) 
     //some app logic here 
     l 
    end 
    root l.first 
    end 
end 

Как я должен написать это, чтобы заставить его работать?

Возможно, у кого-то есть связь с действительно сложными и нетривиальными примерами использования FactoryGirl?

спасибо.

ответ

1

Я не уверен на 100%, что я следил за тем, что вы просите, но будет ли это работать?

factory :tree do 
    after_build { |tree| 
     # build your leaves here 
     # ... 

     tree.root l.first 
    } 
end 
+0

да, хорошая идея. Спасибо. – Ximik