25

スポークレールキャストのビデオをフォローしましたが、ガードを実行しようとすると次のエラーが発生します。

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

sporkサーバーは正常に起動し、エラーが発生して続行しようとしているようです。:waitオプションを120秒にしてみましたが、それでも同じ問題が発生します。

ガードとガードスポークなしでテストを実行すると、スポークは正常に動作します

環境:

  • Mac OSX
  • レール(3.1.1)
  • ガード(0.8.8)
  • guard-rspec(0.5.4)
  • スポーク(0.9.0.rc9)
  • ガードスポーク(0.3.1)

この問題をデバッグするにはどうすればよいですか?どこから始めたらいいのかわからない。

4

2 に答える 2

76

私はUbuntuでまさにこの問題を抱えていました。私の解決策は十分に単純でした:

1)警備をやめた

2)テストフォルダを削除しました

3)警備を開始

今回は、Starting Spork for Test :: Unit&RSpecを見る代わりに、Starting SporkforRSpecを入手しました。そのため、sporkは、私のテストフォルダーが不要になり、すべてが正常に実行されたことを自動的に認識しました。

興味深いことに、

Supported test frameworks:
( ) Cucumber
(*) RSpec

メッセージも消え、railscastに従って期待どおりの結果が得られました。

私が思いつくことができる唯一の結論は次のとおりです。

1)これはOSに依存する問題ではありません。

2)spork、rspec、test unitは、Rails>v3.xアプリではうまく機能しません。これは理にかなっています。両方は必要ありません。更新-両方が必要な場合は、以下の更新された回答を参照してください。

明らかに、私はRailscastの指示に非常に厳密に従ったが、テストフォルダの削除を検討することを真剣に提案する。

更新 @yuvilioからの以下のコメントに従って、両方をうまく一緒にプレイすることが可能であることに注意する必要があります。その引用は次のとおりです。

問題は彼らがうまくいかないということではないと思います。私はCucumber/Rspec/testunitをスポークでお互いにうまくプレイさせました。私のgemfileには、rspec / cucumber / guard関連のgemに加えて、spork-testunit、guard-test、ruby-prof gemを追加し、バンドルインストールを実行しました。次に、testunitをブートストラップしました:bundle exec sporktestunit--bootstrap。次にtest/test_helper.rbをカスタマイズしました。次に、testunitを監視するガードファイルを更新しました:bundle exec guardinittest。ガードを実行すると、RSpec、Cucumber、Test::Unit用のSporkサーバーを含む出力が正常に開始されました

于 2011-11-26T10:13:26.547 に答える
17

テストフォルダを削除したくない場合は、ガードに無視するように指示するだけです。

guard 'spork', test_unit: false do
  # ...
end
于 2012-12-13T14:11:56.590 に答える