Voglio avere 'rake test: units' eseguire i test su un database di test preparato con successo mentre il mio database di sviluppo è inattivo. Attualmente i binari stanno provando a creare il database di test dal database di sviluppo. È possibile?Rails test attraverso rake: non toccare il mio database dev
Sono in una situazione in cui i miei database prod/dev non sono in hosting, ma ai fini delle unit test sto utilizzando un database sqlite in memoria.
EDIT per le mie azioni precise:Nota Sto usando Rails 2,3
mio database di prova è messa a punto come questo in config/database.yml:
test:
adapter: sqlite3
database: 'sqlite3_unittest_file.dat'
pool: 5
timeout: 5000
Quando eseguo il rake db:test:load
il database di test (che è solo un file) viene generato correttamente nella directory root-rails. E quando corro rake test:units
, tutto funziona.
Ora, se modifico database.yml
per impostare il mio banca dati DEV nome utente per qualcosa di sbagliato (come 'sdlkfj'), rake test:units
fallisce immediatamente lamentarsi:
Access denied for user 'sdlkfj'@'myhostnsmae' (using password: YES)
quando sono in esecuzione questa build 'per davvero' , Lo sto eseguendo in un sistema in cui le build non sono autorizzate a parlare off-box durante il processo di compilazione. Quindi questo tentativo di parlare al database di sviluppo e immediatamente gracidare mi sta uccidendo, e sembra scorretto.
Normalmente i test dovrebbero funzionare senza un database di sviluppo in esecuzione. Dovresti dare un'occhiata alla sezione http://guides.rubyonrails.org/testing.html 3.1 e cambiare la tua domanda in modo che tu possa nominare i passaggi che fai. Sembra che il database di sviluppo sia necessario all'inizio e non è disponibile. – mliebelt
Modificato per aggiungere ulteriori informazioni. –