2011-10-01 9 views
7

Esta es una nota adicional a la pregunta "Factory Girl - what's the purpose?"Factory Girl vs. User.create: ¿cuál es la diferencia?

No estoy seguro de si mi pregunta es contado como uno repetitivo, pero no estoy simplemente siendo muy clara después de leer ese puesto, ya que creo que es mi duda aún diferente.

Muy bien, ahora que siempre podemos usar User.create() en el bloque before (: each) en una prueba de Rspec, ¿por qué seguimos molestando con Factory Girl entonces?

Se me ocurrió todo este error cuando estoy leyendo el "tutorial de Rails 3" de Michael Hartl, cuando de repente saltó a Factory Girl pero usó User.create() para construir una instancia User antes.

¡Ojalá alguien pueda aclararme este punto, mucho!

Respuesta

4

Tiene razón, pero las gemas como fábrica y fabricación permiten una duplicación de código significativamente menor entre clases y dentro de diferentes pruebas cuando necesita probar grandes conjuntos de datos que requieren valores de atributo diferentes debido a requisitos de exclusividad. Mezcla métodos para "fabricar" fácilmente muchos objetos diferentes para este tipo de pruebas.

+2

Así que el poder de Factory Girls solo se activa cuando necesitamos construir un no grande. de instancias y/o instancias se utilizarán en diferentes ejemplos de prueba? Entonces, siempre que necesitemos construir 1 o 2 instancias solamente, usar fábrica no hace mucha diferencia, ¿verdad? –

+0

@ adam_0628, estoy de acuerdo contigo. Además, tal vez vea la pregunta vinculada para obtener más explicaciones. http://stackoverflow.com/questions/5183975/factory-girl-whats-the-purpose – sivabudh

+0

@ ShaChris23, gracias por su comentario. Para el registro, su enlace es exactamente mi "Factory Girl - cuál es el propósito" en mi publicación. Jaja gracias de todos modos! :) –

Cuestiones relacionadas