2011-11-18 5 views
25

J'ai suivi le spork railscast video et il me donne l'erreur suivante lorsque je tente de lancer la garde:Problèmes avec la Garde, 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 

Il semble que le serveur Spork démarre bien et ensuite des erreurs et essaie de continuer. J'ai essayé de faire: l'option d'attente 120 secondes et il a toujours le même problème.

Spork fonctionne très bien si j'exécuter les tests sans garde & garde-Spork

Environnement:

  • Mac OS X
  • rails (3.1.1)
  • garde (0.8.8)
  • guard-rspec (0.5.4)
  • spork (0.9.0.rc9)
  • guard-spork (0.3.1)

Comment procéder pour déboguer ce problème? Je n'ai aucune idée par où commencer.

+1

avez-vous conservé le dossier/test dans votre application? – apneadiving

+0

@apneadiving Yip J'ai un dossier/test. J'ai essayé de mettre en place un nouveau projet de rails avec seulement les gemmes essentielles pour les tests et un test simple (1 == 1) et cela donne toujours la même erreur. – Mike

+3

Comment puis-je obtenir une trace de pile de garde? Cela pourrait être utile. – Mike

Répondre

76

J'avais exactement ce problème sur Ubuntu. Ma solution était assez simple:

1) Je me suis arrêté garde

2) J'ai supprimé le dossier test

3) a commencé la garde

Cette fois-ci, au lieu de voir Spork A partir de Test :: RSpec, j'ai commencé Spork pour RSpec. Donc, Spork a automatiquement reconnu que mon dossier de test n'était plus nécessaire et tout s'est bien déroulé.

Il est intéressant le message

Supported test frameworks: 
() Cucumber 
(*) RSpec 

a également disparu et j'ai exactement les résultats attendus par Railscast.

Les conclusions que je peux venir avec sont:

1) Ce n'est pas un problème dépend du système d'exploitation.

2) les applications spork, rspec et test ne fonctionnent pas bien sur les applications Rails> v3.x ce qui est logique. Vous n'avez pas besoin des deux. MISE À JOUR - Veuillez voir la mise à jour ci-dessous si vous voulez les deux.

De toute évidence, j'ai suivi les instructions Railscast de très près, mais je suggère sérieusement que vous envisagiez de supprimer le dossier de test.

MISE À JOUR Il convient de noter qu'il est possible d'obtenir à la fois jouer bien ensemble que par le commentaire ci-dessous de @yuvilio, une citation qui suit:

Je ne pense pas que question est qu'ils ne s'entendent pas. J'ai eu Cucumber/Rspec/testunit pour jouer sympa les uns avec les autres en spork.Dans mon gemfile, en plus des pierres précieuses rspec/concombre/garde, j'ai ajouté spork-testunit, garde-test, ruby-prof gemmes et installé bundle install. Ensuite, j'ai démarré testunit: bundle exec spork testunit --bootstrap. Puis test personnalisé/test_helper.rb. Puis mis à jour le fichier de garde surveillant testunit: bundle exec guard init test. Quand je courais garde, je suis sortie incluant serveur Spork pour RSpec, concombre, Test :: Unit a démarré avec succès

+1

Parfait! Merci :-) – Mike

+0

Je pense qu'un autre coupable ici pourrait avoir growl_notify, growl semble fonctionner mieux. – Mike

+1

Travaillé pour moi aussi - merci –

17

Si vous ne souhaitez pas supprimer le dossier de test, vous pouvez simplement dire la garde de l'ignorer:

guard 'spork', test_unit: false do 
    # ... 
end 
Questions connexes