【发布时间】:2012-10-30 11:28:36
【问题描述】:
刚开始使用工厂女孩。如果必须将工厂保存到数据库中,则必须运行
FactoryGirl.create().
但是有没有什么方法可以将工厂集合加载到数据库中,而不必在每个工厂上调用 create?
如果有任何帮助,我正在使用 Ruby 1.9.3、Rails 3.2.8 和 Factory Girl 4.1。
【问题讨论】:
标签: ruby-on-rails-3 factory-bot testunit
刚开始使用工厂女孩。如果必须将工厂保存到数据库中,则必须运行
FactoryGirl.create().
但是有没有什么方法可以将工厂集合加载到数据库中,而不必在每个工厂上调用 create?
如果有任何帮助,我正在使用 Ruby 1.9.3、Rails 3.2.8 和 Factory Girl 4.1。
【问题讨论】:
标签: ruby-on-rails-3 factory-bot testunit
如果您需要一堆不同类型的工厂,您只需单独创建它们。您可以通过将其添加到您的 test_helper.rb 来减少冗长:
include FactoryGirl::Syntax::Methods
然后你可以像这样创建工厂:
create(:factory_name)
当然,如果你需要一堆相同类型的记录,你可以这样创建它们:
5.times { create(:factory_name) }
正如我在评论中提到的,在初始化测试框架时一举创建所有工厂会适得其反。 FactoryGirl 背后的想法是为每个测试用例或上下文提供您需要的数据。这避免了倾向于陷入夹具驱动方法的测试之间的依赖关系。
【讨论】: