tutorial rails example bot ruby-on-rails ruby testing factory-bot fabrication-gem

ruby on rails - rails - Comparando Factory Girl con la fabricación



faker rspec (4)

Comenzamos con Factory Girl, pero terminamos eliminándolo en favor de construir instancias de AR reales "reales"; una decisión que ahora estoy revisando.

Hasta ahora, me gusta Fabricator. Parece ser más fácil simular asociaciones donde absolutamente nada tiene que golpear una base de datos real, lo que nunca se sintió bien en FG. YMMV, por supuesto, y también hay:

Nunca teorice antes de tener datos. Invariablemente, terminas distorsionando los hechos para adaptarse a las teorías, en lugar de teorías para adaptarse a los hechos. - La ley de Holmes de las teorías fácticas

Parece que hay pocos recursos sobre la gema de fabrication , y no pude encontrar una buena comparación de las características que la distinguen de factory_girl . A partir de las versiones fabrication-2.2.3 y factory_girl-4.0.0 , apenas puedo encontrar una diferencia. ¿Cómo se comparan estas gemas? ¿Qué puede hacer que la fabrication una mejor elección y por qué? ¿Han convergido ambos?


Factory Girl tiene un concepto adicional de trait que es realmente útil.

Otras características parecen más o menos parecidas.

Si quieres elegir uno, considera la cantidad de descargas:

Podría ser útil cuando buscas ayuda / apoyo.


Recientemente hice un perfil de Fabricator vs FactoryGirl porque tenía curiosidad acerca de los comentarios de rendimiento mencionados por otros. También encontré que Fabricator era un poco más rápido (pero solo cuando utilizaba asociaciones):

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

Dado que los tiempos de ejecución fueron muy cercanos, prefiero Fabricator en vez de FactoryGirl porque la configuración de las asociaciones se propagará por defecto de la creación contra la creación (en lugar de tener que especificar una estrategia)


Solo para lo que vale la pena, encuentro que la fabricación es más rápida y he experimentado menos errores con ella. Creo que la gran brecha de popularidad se debe principalmente a que la fabricación es mucho más nueva.