Capybara @JavaScriptタグを取得するにはどうすればよいですか?
-
28-09-2019 - |
質問
新しいRails 3プロジェクトでCapybaraのWebratを交換しました。私はここでティム・ライリーの素晴らしい投稿を駆け抜けました( http://openmonkey.com/articles/2010/04/javascript-testing-with cucumber-capybara )、また、彼のリポジトリをクローン化し、Cucumber機能のサンプルを実行し、ブラウザウィンドウが開いているのを見ました。したがって、キュウリ、カピバラ、セレンスタック全体がその場合に正常に機能するようです。
ただし、新しいRails 3プロジェクトを作成し、同様の例プロジェクトのセットアップを実行し、@JavaScriptでシナリオを注釈した場合、ブラウザウィンドウは発生しません。 Command failed with status (1) event
(これは、失敗または保留中の手順の例では、CIツールの利益のために設計によりキュウリをトリガーします)。
Capybaraが提供する@JavaScript機能とは別に、他のすべての機能は正常に機能します。
信じられないほど明白なものが足りませんか? BDDの新人が問題をより深く調べる方法はありますか(スタックトレースは、キュウリが失敗したときに標準的なレーキエラーを表示するだけです)。
- RVM 1.9.2ヘッド
- gem 'rails'、 '3.0.0.rc'
- 宝石「キュウリ」
- 宝石「キュウリ」
- gem 'capybara'
- gem 'culerity'
- gem 'celerity'、:require => nil
解決
この問題は、実際にはキュウリとキュウリの雨が降っており、データベースクリーナーへの依存が欠落しています。 http://github.com/aslakhellesoy/cucumber-rails/issues#issue/36
この問題は、@JavaScriptタグをキュウリ機能に追加するときに明らかになります。デフォルトでは、キュウリのオプションは、事実を私に警告したであろう警告を抑制します。更新する config/cucumber.yml
に:
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
キュウリを実行するときにエラーが表示されます: uninitialized constant DatabaseCleaner (NameError)
この場合の簡単な修正は、追加することです gem 'database_cleaner'
プロジェクトに Gemfile
.
他のヒント
Capybaraは、実際に必要なときにブラウザウィンドウを最初に開くという点で「怠zy」です。実際にブラウザを必要とする何かをしている場合、Capybaraはそれを開けません。
たぶん、あなたはモンレルの宝石をインストールしていません。ブラウザの自動化はどういうわけかWebrickで動作しておらず、ここで説明するのと同じサイレント失敗を経験しました。
追加
gem 'mongrel'、 '> = 1.2.0.beta.1'
私のgemfileにそれを解決しました。
それを構成する方法についてのサンプルアプリを作成しました:github.com/lailsonbm/contact_manager_app/