Sto usando seeds.rb per popolare un po 'di Stato dati modello di riferimento:Impedire Rails prova elimini dati semi
State.create :name => 'Alabama', :abbreviation => 'AL'
State.create :name => 'Alaska', :abbreviation => 'AK'
# ...
Anche se io non sto usando infissi statali (dal momento che è i dati di semi per cominciare, penso che non sarebbe ASCIUTTO dover duplicare questo solo per i test), il framework di test di Rails sembra cancellare tutti i dati seme di stato durante i test. (Sto cadendo, ricreando, migrando e resettando il test db, e confermato che i dati sono lì prima dell'esecuzione di un test di unità.)
Il risultato è questa affermazione che ha esito positivo in semi.rb ma fallisce in un test su una riga :
assert_equal 51, State.all.size
1) Failure:
test_state_seeds_are_present(StateTest) [/test/unit/state_test.rb:24]:
<51> expected but was
<0>.
1 tests, 1 assertions, 1 failures, 0 errors
ho provato entrambi i modelli non statali elencando esplicitamente nel infissi istruzione class test di base, così come lanciando la bandiera infissi transazionale (come previsto, questo riguarda solo i record creati durante il test). Naturalmente il test in esame non è di per sé la cancellazione di questi record.
I record di stato vengono sempre eliminati. C'è un modo per dire a Rails di togliere le mani dai dati seme? Devo duplicare tutti i dati nei dispositivi per assicurarmi che vengano ricaricati? A parte un grande evento politico, mi aspetto che i dati dello stato siano relativamente stabili.
tia
Grazie ragazzi, mi cercheranno entrambi (una tantum) e weppos' (sulla configurazione) suggerimento per le sementi in modo esplicito il caricamento di Luca dati nei test e vedere quale funziona meglio per i miei scopi. Prenderò per scontato che i test immetteranno sempre prima i dati del database. – aaron