2010-01-25 15 views
40

Estoy trabajando con factory_girl, pero mirando la joya del maquinista. ¿Podría decirme por favor? ¿Cuáles son los pros y los contras de migrar a maquinista? ¿Has comparado esas libs?Maquinista vs FactoryGirl - pros y contras

+1

no es una respuesta directa a su pregunta, pero también puede consultar miniskirt: http://www.stephencelis.com/2010/01/11/miniskirt.html ... como usuario de factory_girl, me gusta cómo esto simple lib se acerca a las fábricas con mejor sintaxis y menos peso. – foz

+40

maquinista? chica de fábrica? ¿minifalda? ¿En qué tipo de foro tropecé? –

+7

@DonalBoyle usted podría quedar impresionado más si sabrá que también hay un [factory_boy] (https://github.com/dnerdy/factory_boy) :) – galymzhan

Respuesta

25

Machinist estaba muy inspirado en factory_girl, pero variaba porque el autor del maquinista quería una sintaxis diferente. Desde entonces, factory_girl agregó diferentes capas de sintaxis para simular otras bibliotecas de fábrica (incluida la sintaxis de "blueprint" del maquinista). En otras palabras, ambos son extremadamente similares, solo que con una sintaxis predeterminada diferente. Personalmente, uso factory_girl.

0

No he usado maquinista antes, pero puedo decir que factory_girl es bastante fácil de usar, extender y desgarrar cualquier riel centrado en que se debe utilizar en cualquier tipo de proyecto.

17

En realidad, Machinist tiene una gran ventaja sobre Factory Girl: no afecta a la base de datos para objetos asociados. Mira aquí:

Machinist vs Factory Girl: Machinist win!

Aún no está seguro acerca de cómo maquinista maneja esto, pero de todos modos, podría ser un enorme aumento de rendimiento para su base de prueba.

+7

Recién notado en [este screencast] (http : //railscasts.com/episodes/158-factories-not-fixtures-revised) que puede usar 'FactoryGirl.build' si no quiere golpear la base de datos. Probablemente una nueva característica. – jrhorn424

+1

FactoryGirl.build en realidad anota la base de datos para objetos asociados. FactoryGirl.build_stubbed crea objetos sin tocar la base de datos. – Kristiina

Cuestiones relacionadas