質問

新しい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/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top