一部のコンテンツがページに表示されるかどうかをテストする機能を作成しました。コンテンツは AJAX を介して動的にロードされ、シナリオには の注釈が付けられ@javascript
ます。
奇妙な部分は次のとおりです。 に設定config.cache_classes = false
するとconfig/environments/test.rb
、すべてが正常に機能し、ステップが通過します。
ただし、デフォルトでconfig.cache_classes
に設定することをお勧めしますtrue
。しかし、その設定では、ステップは失敗します。コンテンツ更新中のコントロールのAJAX呼び出しに失敗した原因を絞り込むことができました。
exit 1
コントローラのキャッシュされた古いバージョンが使用されていることを確実にするために、コントローラを編集しました。
1) クラスキャッシュを手動でフラッシュして再生成できますか? config.cache_classes
必ずしもfalse に設定せずに、現在のバージョンのクラスを使用するように Cucumber に明示的に指示するにはどうすればよいでしょうか?
2) Rails はデフォルトでクラスをどこにキャッシュしますか? ウェブ上でこれに答えるのに役立つものは何も見つかりませんでした。
私の環境:
- レール 3.2.8
- きゅうり 1.2.1
- きゅうりレール 1.3.0
- カピバラ 1.1.2
- capybara-webkit 0.12.1 (
javascript_driver
ですが:webkit
、 でエラーが持続します:selenium
)