2

Rails 3.2.11 の rspec 2.10 ビュー仕様を書いています。私がテストしているビューには、その動作にとって重要な JavaScript がいくつかあります。rspec コントローラー テストで JavaScript テストを有効にすることはできましたが、こちらの手順に従ってビュー スペックを使用することはできませんでした。要約すると、次の行を spec_helper.rb に追加します。

require 'capybara/rspec'
require 'capybara/rails'

仕様でカピバラドライバーを webkit として設定しました。

Capybara.javascript_driver = :webkit
Capybara.current_driver = Capybara.javascript_driver

また、Capybara-webkit gem を Gemfile に含め、bundle install を実行してインストールしました。さらに, :js => true、spec ブロック定義の前に追加します。

それでも、次のようなテストを実行すると

rendered.should have_content('Text in JavaScript button')

<script></script>基本的に、レンダリングされたビューのタグ内に JavaScript がテキストとして含まれていることを示すエラー メッセージが表示されます。

rspec ビュー仕様で JavaScript を有効にする方法はありますか? 単体テストを行う必要があるため、機能仕様ではなくビュー仕様でこれをテストしたいと考えています。また、このビュー仕様は Rails と対話し、少なくともその動作をモックしたいので、Jasmine を使用したくありません。

4

1 に答える 1

1

この問題に対する実用的な解決策を見つけることができなかったので、単体テストを統合/機能テストに変換しました。

于 2013-03-11T17:25:27.153 に答える