机械师 vs FactoryGirl - 优缺点

40

我正在使用factory_girl,但是在看machinist gem。请问你能告诉我迁移到machinist的优缺点吗?你有比较这两个库吗?


1
不是直接回答你的问题,但你也可以看看 miniskirt:http://www.stephencelis.com/2010/01/11/miniskirt.html……作为一个 factory_girl 用户,我喜欢这个简单库用更好的语法和更轻的负担来处理工厂。 - foz
41
机械师?工厂女工?迷你裙?我走进了什么样的论坛? - Dónal Boyle
7
如果您了解到还有一个 factory_boy,您可能会更加留下深刻印象。 - galymzhan
3个回答

25

Machinist 的灵感来自于factory_girl,但是作者想要不同的语法风格,并因此进行了修改。后来,factory_girl 添加了不同的语法层以模拟其他工厂库(包括machinist的“blueprint”语法)。换句话说,两者非常相似,只是默认语法不同。个人而言,我使用factory_girl。


17

实际上,Machinist比Factory Girl具有更大的优势:它不会为关联对象访问数据库。看这里:

Machinist vs Factory Girl: Machinist win!

对于Machinist如何处理此问题还不确定,但无论如何,这都可以极大地提高您的测试基础性能。


7
刚刚注意到在 这个视频演示 中,如果你不想访问数据库,你可以使用 FactoryGirl.build。可能是一个新功能。 - jrhorn424
1
FactoryGirl.build 实际上会请求关联对象的数据库。而 FactoryGirl.build_stubbed 则不请求数据库,直接创建对象。 - Kristiina

0

我以前没有使用过machinist,但我可以说factory_girl非常容易使用,扩展和剥离任何与Rails相关的内容,以便在任何类型的项目中使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接