Sono su Rails 3.2 e sto usando rspec (2.11.1). Quando eseguo la mia suite di test con "rake spec" ottengo errori. Quando lo eseguo con "rspec", tutto passa. Ho visto altre menzioni di questo problema ma nulla di definitivo che spiega cosa sta succedendo e quali sono le migliori pratiche.Devo usare "rake spec" o "rspec" (non riesco a far funzionare "rake spec")?
Se faccio "rake spec" o "rake tmp: clear & & rake spec" i miei test falliscono.
Se si esegue "rspec" o "specifica rspec" o "rake db: test: preparare & & rspec" i miei test passano.
Ho pensato che l'unica differenza era che il rake ha fatto "db: test: prepare" ma se lo faccio manualmente prima di eseguire rspec i miei test passano così che non può essere tutta la storia.
Dopo aver letto un po 'di lettura ho cambiato il mio Gemfile. Precedentemente l'avevo configurato come da "The RSpec Book" (p328) dove descriveva l'inserimento della gemma rspec all'interno di un blocco "group: development,: test". Dopo aver letto altri post SO ho rimosso ": development" e ho fatto un bundle. Ora "rake spec" non fa nulla. "rspec" funziona ancora come prima.
molto confuso ...
fatto un altro sondaggio. con Gemfile come da rspec book (con: development,: test) running rspec usa l'ambiente 'test' mentre rake spec usa l'ambiente 'development'. Non sono sicuro adesso perché è così, ma continueremo a cercare ... – starfry
"RAILS_ENV = 'test' rake spec" funziona. Mi sarei aspettato che i test fossero predefiniti nell'ambiente di test senza che io dovessi essere specifico ... – starfry
La mia risposta è stata cancellata (per gentile concessione di @ bhargav-rao) come duplicata di http://stackoverflow.com/questions/15701298/rspec -spec-rake-spec-gives-different-result/41877864 # 41877864 –