Come posso aggiungere il mio seme dati del mio database di test utilizzando rake db:seme?

Sto usando Factory Girl per popolare il mio seme dati e l’aggiunta di db in seed.rb.

Sto eseguendo quindi il mio test utilizzando Cetriolo.

Ho un prezzo tabella che contiene semi di dati che voglio in tutti i miei ambienti.

Voglio rake db:semi di aggiungere al mio dev e test di db e cetriolo per essere in grado di utilizzare il test del seme. Poi vorrei aggiungere che il seme dati in prod anche.

Come posso verificare che il mio seme dati è aggiunto ai dev e test di db?

rake db:seed #only adds it only to my dev database

 

3 Replies
  1. 34

    Si può provare qualcosa di simile a questo:

    rake db:seed RAILS_ENV=test --trace
    rake db:seed RAILS_ENV=production --trace
    • Questo cambierà l’ambiente solo per il task rake? Ho bisogno di un reset dopo?
    • Non proprio, si sta solo dicendo rastrello per utilizzare i parametri secondo le tue database.yml file di configurazione. Comunque è sempre una buona idea di essere dettagliata nei comandi, almeno quando si sta imparando. È possibile eseguire la vostra applicazione rails: bisaccia/server RAILS_ENV=sviluppo
  2. 8

    Check out questa risposta da un simile post.

    Credo davvero che è meglio usare le fabbriche per riempire il database di test.
    E se avete bisogno di semi di dati durante le prove di aggiungere un before :all blocco spec_helper/test_helper.

    • +1 per l’educazione
    • Questa risposta è meglio per di più gli sviluppatori che vorrei tirare le modifiche ed esecuzione di test sulle loro macchine. Utilizzando questa risposta, che non avrebbe dovuto dire loro di leggere la documentazione, che dovrebbe indicare la loro esecuzione: ‘rake db:seme RAILS_ENV=test –trace’ ogni volta.
  3. 1

    Si consiglia di visitare questo thread così quando si lavora con un database di test, soprattutto perché non si vuole persistere i dati nel database di test.

    Come prove di evolvere è più probabile trovare te stesso utilizzando il seme di dati, fabbriche, così come prende in giro, e con dati persistenti vi ritroverete in esecuzione in conflitti.

    Personalmente mi piace usare un custom semi di file per il mio database di test, e caricarlo nel mio rails_helper:

    DatabaseCleaner.strategy = :truncation
    DatabaseCleaner.clean
    
    load "#{Rails.root}/db/custom_test_seed.rb"

Lascia un commento