私はcapybaraを使ってRSpec機能テストを作成しています。これはBootstrapタブを使ったテストです。Capybaraがユーザーに見えない要素を見つけようとしています
私の問題は、使用しなくてもclick_link "tab name"
capybaraは、そのタブ内に配置されている要素を見つけることができるということです。しかし、ローカルサーバーのページを見ると、タブが正しく機能しています。
カピバラはどのように要素を正確に見つけますか?それはどういうわけか、ブートストラップされたタブをバイパスするシステムを使用していますか?
これを修正する方法はありますか?関与
可能性のある要因:様々な理由
- 、私が働いているプロジェクトでは、これらの「リクエスト」のテストではなく、機能テストを呼んでいます。これはカピバラの行動のいくつかを変えることができますか?
更新: - 私は現在js: true
設定されていません。今すぐ可能な解決策を見てください。
(コメントを参照してください)@ThomasWalpoleに行きます。そのドライバーはほとんどのCSSを処理しません.JSのサポートがないため、ブートストラップタブは全く機能しません。 –
そして、はい - Capybaraを使用する場合、特に 'request'仕様ではなく 'feature'仕様にする必要がありますあなたは通常の 'require 'capybara/rspec'を使っています - それをフィーチャーテストとすると、同時に' capybara'を使うのに互換性のない 'get' /' 'post'/etcメソッドを使用できなくなります。 –
@Thomasウォールポール、ありがとう、これは役に立ちます。プロジェクトのリーダーは、しかし私が可能な限り多くを残してほしいと思っています。フィーチャの仕様に変更することは絶対に必要ですか、それともそれを強く推奨していますか?フィーチャー・スペックではなくリクエスト・スペックを使用するときに実際に何が分裂し始めるのかを知っていますか? – RyanQuey