5

Sto cercando di imparare TDD e BDD e farlo nel modo giusto. Lo stack che sto usando (o che sto cercando di usare, Spork non funziona con Guard per me) è Minitest-Guard-Spork-Capybara. Mi sto concentrando sui test delle unità per i modelli e le specifiche per i test di integrazione.Durante il test, devo precompilare le risorse ogni volta che aggiusto i file Javascript in Rails 3.2?

Ho un sacco di Ajax in questa applicazione. Ho appena fatto uno save_and_open_page in uno dei miei test e ovviamente la pagina è arrivata orribilmente, perché non è riuscita a trovare nessuna delle risorse.

La mia domanda è, se devo testare la funzionalità JS, devo precompilare beni ogni singola volta al fine di testarle, o c'è qualche modo per avere il default gasdotto modalità a dev per il test scopi.

Sono certo che questa è una domanda n00b, ma è lì che mi trovo con i test. Cercando di fare le cose bene.

risposta

2

Non è necessario compilare le risorse, in realtà non è necessario fare nulla. save_and_open_page funziona in modo diverso e non carica le tue risorse quindi non aver paura se tutto sembra brutto, i tuoi test capybara funzionano ancora bene con javascript senza alcuna modifica nella configurazione dell'ambiente di test.

Tuttavia, è necessario impostare capybara e mini test per funzionare con javascript e ricordare di taggare le specifiche per attivare javascript.

3

No, non devi farlo ogni volta. È sufficiente lavorare in ambiente di sviluppo (ambiente di test?), Ambiente di produzione e precompilatura per sistemi di lavoro pubblici. Nel tuo ambiente per lavoro ci dovrebbe essere config.assets.compile = true.

+0

Grazie Sper. Fammi essere sicuro di capire. Affinché i miei test possano "vedere" le risorse effettive nella mia app, devo aggiungere "config.assets.compile = true" alla mia configurazione/ambienti/test.rb. Cosa succede se sto facendo TDD o BDD per un file Javascript? In che modo il framework di testing sa come accedere a quel nuovo codice anziché al codice compilato. O ho questo all'indietro. Penserei che idealmente non dovresti * testare contro le risorse compilate, ma piuttosto contro il codice raw. Ma i miei test sono alla ricerca di risorse compilate perché posso vedere i percorsi dei fogli di stile quando faccio save_and_open_page. – AKWF

+0

Penso che nel tuo ambiente di sviluppo dovrebbe essere config.assets.compress = false - non vero! altrimenti è necessario compilare le risorse durante lo sviluppo. – Mattherick

Problemi correlati