在我看来,就我的目的而言,factory_girl
完全糟糕透了。一些限制包括:
不支持调试
如果我包含debugger
语句,它们将被视为模型属性。我没有调用调试器,而是得到奇怪的错误。
FactoryGirl.define do
factory :admin do
name do
debugger # <-- Does not work.
Forgery(:name).full_name
end
email { Forgery(:email).address }
debugger # <-- Does not work either.
password "secret"
end
end
关联的限制
我是不是太蠢了,还是没有优雅的方式向用户添加两个帖子?
FactoryGirl.define do
factory :post do
title "Foobar"
content "Some content"
end
factory :user do
name { Forgery(:name).full_name }
email { Forgery(:email).address }
# This does not work, if the Post model requires Post#user to be set.
posts [FactoryGirl.create(:post), FactoryGirl.create(:post)]
end
end
倾向于触发铁轨中的奇怪错误
我不记得发生了什么,但 factory_girl 经常出现奇怪的问题。
所以给出这些例子。是否有没有这些问题的 factory_girl 替代品?