2011-11-18 15 views
25

ho seguito il spork railscast video e mi dà il seguente errore quando si tenta di eseguire guardia:Problemi con custode, Spork, Rspec & Rails 3

Guard is now watching at '/Users/m/work/' 
Starting Spork for Test::Unit & RSpec 
Couldn't find a supported test framework that begins with 'testunit' 

Supported test frameworks: 
() Cucumber 
(*) RSpec 

Legend: () - not detected in project (*) - detected 
Using RSpec 
Preloading Rails environment 
Loading Spork.prefork block... 
Spork is ready and listening on 8989! 
--> ERROR: Could not start Spork server for Test::Unit & RSpec. Make sure you can use it manually first. 
Guard::RSpec is running, with RSpec 2! 
Running all specs 

Sembra che il server di spork avvia fine e quindi errori e cerca di andare avanti. Ho provato a fare l'opzione: wait 120 secondi e ha ancora lo stesso problema.

Spork funziona bene se eseguo i test senza guard & guard-spork

Ambiente:

  • Mac OSX
  • rotaie (3.1.1)
  • guardia (0.8.8)
  • guard-rspec (0.5.4)
  • spork (0.9.0.rc9)
  • guard-spork (0.3.1)

In che modo è possibile eseguire il debug di questo problema? Non ho idea da dove cominciare.

+1

hai mantenuto la cartella/test all'interno della tua app? – apneadiving

+0

@apneadiving Yip Ho una cartella/test. Ho provato a creare un nuovo progetto di rotaie con solo le gemme essenziali per il test e un semplice test (1 == 1) e dà ancora lo stesso errore. – Mike

+3

Come posso ottenere una traccia stack da guardia? Potrebbe essere utile. – Mike

risposta

76

Ho avuto esattamente questo problema su Ubuntu. La mia soluzione era abbastanza semplice:

1) Ho smesso di guardia

2) Ho cancellato la cartella di prova

3) ha iniziato guardia

Questa volta, invece di vedere Spork di partenza per Test :: Unità & RSpec, Avevo Start Spork per RSpec. Così spork ha riconosciuto automaticamente che la mia cartella di test non era più necessaria e che tutto funzionava a meraviglia.

È interessante notare che il messaggio

Supported test frameworks: 
() Cucumber 
(*) RSpec 

anche scomparso e ho ottenuto esattamente i risultati attesi come da Railscast.

Le uniche conclusioni che posso venire con sono:

1) Questo non è un problema dipendente OS.

2) Spork, rspec e unità di test non funzionano bene su Rails> app v3.x che ha senso. Non hai bisogno di entrambi. AGGIORNAMENTO - Si prega di consultare la risposta aggiornata di seguito se si desidera entrambi.

Ovviamente ho seguito molto attentamente le istruzioni di Railscast ma consiglio seriamente di dare un'occhiata all'eliminazione della cartella di test.

UPDATE Va notato che è possibile ottenere sia per giocare bene insieme come da commento qui sotto da @yuvilio, una citazione di cui segue:

non credo che il il problema è che non vanno d'accordo. Ho ottenuto Cucumber/Rspec/Testunit per giocare bene l'uno con l'altro in spork.Nel mio file gemma, oltre alle gemme relative a rspec/cetriolo/guardia, ho aggiunto spork-testunit, guard-test, gemme di ruby-prof e ho eseguito l'installazione di bundle. Quindi, ho eseguito il boot test della testunità: bundle exec spork testunit --bootstrap.Then test/test_helper.rb personalizzato. Quindi aggiorna il file di guardia guardando per testunit: bundle exec guard init test. Quando ho eseguito la guardia, mi sono uscite, tra cui server di Spork per RSpec, cetriolo, ha iniziato con successo Test :: Unit

+1

Perfetto! Grazie :-) – Mike

+0

Penso che un altro colpevole qui potrebbe avere growl_notify, ringhio sembra funzionare meglio. – Mike

+1

Ha funzionato anche per me - grazie –

17

Se non si desidera eliminare la cartella di prova, si può semplicemente dire a guardia di ignorarlo:

guard 'spork', test_unit: false do 
    # ... 
end 
Problemi correlati