2012-08-29 277 views
20

比较有似乎对fabrication宝石资源很少,而且我找不到的,从factory_girl区分的特征比较不错。至于版本fabrication-2.2.3factory_girl-4.0.0,我几乎找不到差异。这些宝石如何比较?什么使fabrication成为更好的选择,为什么?他们都融合了吗?工厂女孩与制造

+0

我想你可以选择一个答案:) – apneadiving

+1

@apneadiving我想,但所有的答案要么是主观的或不完整的。我希望有人可以发表客观比较。 –

回答

9

工厂女孩有trait一个额外的概念,它是非常有用的。

其他功能似乎或多或少的一致好评。

如果你想选择一个,可以考虑下载次数:

可能是有用的/支持。

+0

工厂女孩的文档住在这里:https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md – apneadiving

+0

谢谢。流行度有明显差异(https://www.ruby-toolbox.com/categories/rails_fixture_replacement),但这并不一定意味着一个比另一个好。这可能是因为人们年龄较大,或者更主流,或者因为其他人最近才成熟。 –

+0

特质的概念很有趣(https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md#traits),显然不包含在“制造”中。谢谢。 –

13

只是为了它的价值,我觉得制作是快了,我已经与它经历更少的错误。我认为人气大差距主要是因为制造更新颖。

+0

谢谢@Andrew。你能否详细说明减少错误?什么类型的错误? –

+4

基本上使用FG我偶尔遇到难以调试的错误,并且使用Fabrication,我的工作量少得多。 – Andrew

10

我们开始了与工厂女孩,但彼时有利于构建“实际的” AR模型实例翻录出来;我现在正在重新审视这个决定。

到目前为止,我喜欢制造商。似乎更容易嘲讽协会,其中绝对没有什么必须击中一个真正的数据库,这在FG中从未感觉过。 YMMV,当然,还有:

在你有数据之前,你永远不要理论。总而言之,你最终会扭转事实来适应理论,而不是理论来适应事实。 - 福尔摩斯的法律事实理论

+4

+1:当你想避免数据库访问时,'Fabricator.build(:factory-name)'就可以工作。我尝试过使用'FactoryGirl.build'和'FactoryGirl.build_stubbed'而没有成功 - 它似乎与模型关联混淆,并最终撞上了数据库。 – rsenna

+2

这个主题在这里解决:https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md。将钩子添加到ActiveSupportNotifications中,您可以看到您的测试是否正在触及数据库。你必须小心如何构建你的工厂,以便build_stubbed避免碰到数据库。它绝对可以正常工作。 – justingordon

0

的我最近做加工厂的分析VS FactoryGirl因为我很好奇别人提到的性能评价。我还发现加工厂是稍快(但使用协会只有当):

https://ksylvest.com/posts/2017-08-12/fabrication-vs-factorygirl

由于运行时间是如此接近,我更喜欢加工商在FactoryGirl因为设立协会将默认传播构建VS创建(而不是必须指定一个策略)。