tutorial test rails app ruby-on-rails fixtures

ruby on rails - test - Accesorios de rieles vs semillas



rspec tutorial rails 5 (2)

Estoy aprendiendo Ruby on Rails, y me gustaría asegurarme de que entiendo la diferencia entre accesorios y datos semilla.

Lo que entiendo es que los accesorios son básicamente datos de prueba con los que ejecutas tus aserciones de prueba, y no tienen persistencia tan pronto como se realizan las pruebas, mientras que las semillas se colocan en la base de datos automáticamente cuando haces algo como rake db:seed .

¿Por qué usar semillas en este caso? ¿Solo para evitar tener que escribir todas las miles de afirmaciones de prueba? ¿Para los datos que sabe que deberán estar en la base de datos cuando la aplicación entre en producción?

(Supongo que, ¿los datos estáticos que siempre habrían estado allí como el primer administrador en un tablero de mensajes?)


Lo tienes bien. Los datos iniciales son para llenar la base de datos con los requisitos previos necesarios para permitir que la aplicación se pueda utilizar desde el principio, como para agregar una cuenta de administrador predeterminada que se requiere para que la aplicación se pueda administrar desde el principio.

Los datos de semillas no deben usarse para fines de prueba, mientras que las pruebas siempre deben asegurarse de que la base de datos esté limpia para que sepa que los únicos datos utilizados en un ejemplo son los datos que se completan con el ejemplo. para evitar confusión.

Los accesorios son una forma de hacer esto. pero una mejor manera es usar fábricas como la chica de la fábrica , verifique este episodio de feriado a gran escala para una mejor explicación.


Muchas aplicaciones necesitan algunos datos para funcionar correctamente. Por ejemplo, una lista de países y códigos postales. O, una lista de roles potenciales para que los usuarios asuman, incluso si todavía no hay usuarios en la base de datos.

Piense en los datos semilla en términos de lo que se necesitaría para poner en funcionamiento un entorno de desarrollo. Generalmente, para que un nuevo desarrollador de Rails trabaje en cualquier aplicación, el proceso siempre debe ser así:

  1. Clonar el repositorio
  2. Instalar las gemas a través de bundler
  3. Crear y sembrar las bases de datos de desarrollo y prueba.
  4. Ejecutar las pruebas, que deben pasar