2009-10-12 15 views
12

Il seguente output si visualizza dopo l'esecuzione di alcuni compiti rake:messaggio di caricamento e risultati dei test appare dopo l'esecuzione di task rake in Rails applicazione

Loaded suite /usr/bin/rake 
Started 

Finished in 0.00042 seconds. 

0 tests, 0 assertions, 0 failures, 0 errors 

Questa uscita non è utile o necessaria per compiti non legati ai test. Mi piacerebbe impedirgli di apparire. Suppongo che derivi dal richiedere un determinato file o includere un determinato modulo.

Aggiornato: Sembra che mi sia sbagliato e questo si presenta durante alcune delle attività incorporate in Rails. Ecco l'output di dispositivi che vengono caricati con --trace.

$ rake db:fixtures:load --trace 

** Invoke db:fixtures:load (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Execute db:fixtures:load 
Loaded suite /usr/bin/rake 
Started 

Finished in 0.000255 seconds. 

0 tests, 0 assertions, 0 failures, 0 errors 

risposta

11

soluzione può essere trovata qui:

http://github.com/thoughtbot/shoulda/issues/#issue/59

Fondamentalmente non richiedono la gemma shoulda meno che non sia l'ambiente di test (dove sarebbe già richiesto test/unit).

+0

Grazie per la risposta fowlduck. Avevi ragione Abbiamo inserito la chiamata config.gem all'interno di environment.rb invece di ambienti/test.rb – Jared

+0

In un progetto di rails 3.2.2, ho visto questo comportamento (unità di test in esecuzione dopo le attività di rake selezionate) e il problema era che dovevo il gruppo: test,: blocco di sviluppo. Spostandolo sul blocco: test (insieme ad altri che avevo messo pigramente in entrambi) rimosse la chiamata all'unità di test. –

1

Prima verifica il modello di prova per il tuo Rake::TestTask. Dovrebbe essere qualcosa come 'test/**/*_test.rb'.

Per qualsiasi motivo, Test :: Unit sta cercando di trovare test nell'eseguibile /usr/bin/rake, il che probabilmente significa che hai un modello falso da qualche parte.

Ogni volta che si verificano problemi come questo, si desidera eseguire rake con --trace per vedere quali attività e dipendenze delle attività vengono eseguite e in quale ordine. Se l'aggiornamento del pattern non funziona, copia l'output di un ciclo completo con --trace attivato nella domanda.

+0

Uno degli altri sviluppatori con cui lavoro sul progetto recentemente vendored tutto delle nostre gemme. È possibile che questa sia la causa? Gli unici posti che chiamano Rake :: TestTask si trovano nelle directory gemma e plug-in vendute. – Jared

+0

Difficile da dire senza l'output di '--trace'. Se non ci sono attività di test esplicite, probabilmente vorrai scrivere le tue. L'attività di test di default non farà nulla di utile come controllare la copertura del codice. Indipendentemente da ciò, se si verifica un'esecuzione di test per qualsiasi attività arbitrale di rake, si sono incasinate le dipendenze delle attività e si deve usare '--trace' per eseguirne il debug. –

+0

Bob, ho provato a eseguire un'attività con traccia, ma non mi ha detto altro. Tutto quello che ho scoperto è che qualunque cosa sia, questo è in esecuzione dopo che il mio codice è stato completato. – Jared

0

ho avuto modo di questo file: ~/.rvm/rubini/ruby-1.9.2-testa/lib/ruby ​​/ 1.9.1/Minitest/unit.rb

E alla linea 498 (appena dopo " DEF self.autorun ") ho messo:

return # the user of this computer put this here, because of reasons 

non credo che questo metodo mi farà caduto come lui manca ...

Problemi correlati