刚开始使用工厂女孩。如果必须将工厂保存到数据库中,则必须运行
FactoryGirl.create()
。
但有没有办法将工厂集合加载到数据库中而无需在每个工厂上调用create?
如果有任何帮助我使用的是Ruby 1.9.3,Rails 3.2.8和Factory Girl 4.1。
答案 0 :(得分:1)
如果您需要一堆不同类型的工厂,您只需要单独创建它们。通过将此添加到test_helper.rb
:
include FactoryGirl::Syntax::Methods
然后你可以创建这样的工厂:
create(:factory_name)
当然,如果您需要一堆相同类型的记录,您可以像这样创建它们:
5.times { create(:factory_name) }
正如我的评论中所提到的,在初始化测试框架时一举创建所有工厂都会适得其反。 FactoryGirl背后的想法是为每个测试用例或上下文提供所需的数据。这避免了测试之间的依赖关系,这些测试往往会陷入夹具驱动的方法中。