4

RSpec テストを高速化するために Spork を使用しています。残念ながら、application_controller.rb実行ごとにリロードされないため、変更するときに Spork を再起動する必要があります。各テスト実行でリロードを強制する方法はありますか? に追加の行が必要だと思いSpork.each_runます。

4

2 に答える 2

0

私も同じ問題を抱えていましたが、Spork は自動的に application_controller.rb を変更せずにリロードするように設計されています。だから私はそれを掘り下げ、このブログ投稿のコメントで述べたように、私は実行しspork --diagnoseました. spork によって最初にロードされたすべてのファイルと、各ファイルがどのようにロードされたかのバックトレースが一覧表示されます。これは、私のアプリにたまたま ApplicationController のサブクラスを参照しているイニシャライザがあり、最初にロードされていたことを示しています。その依存関係を壊すと、Spork を使用しているときに、テストの実行ごとに application_controller.rb が正しくリロードされるようになりました。

于 2013-03-11T21:16:07.087 に答える
0

ActiveSupport::Dependencies.clearSpork.each_run ブロックに入れてみてください。application_controller.rb の自動テストが完了したら、これを削除しますが、新しい遅延はそれほど悪くはないはずです。

于 2011-10-07T19:10:05.053 に答える