Rspecは明らかに私を嫌っています。私はちょっと彼が嫌いです。
#features/step_definitions/custom_steps.rb
Then /^I should see the link "([^\"]*)"$/ do |linked_text|
find_link(linked_text)
end
#link.feature
Then I should see the link "foo"
ターミナルから:
undefined method `find_link' for #<Cucumber::Rails::World:0x818e02e8> (NoMethodError)
./features/step_definitions/custom_steps.rb:115:in `/^I should see the link "([^\"]*)"$/'
私のenv.rbファイル:
#features / support / env.rb #重要:このファイルはcucumber-railsによって生成されます-自分の危険で編集してください。 #将来、にアップグレードするときに、このファイルを再生成することをお勧めします。 #キュウリレールの新しいバージョン。新しいファイルに独自のコードを追加することを検討してください #これを編集する代わりに。Cucumberはすべての機能を自動的にロードします/**/*.rb #ファイル。 ENV ["RAILS_ENV"] ||="きゅうり" File.expand_path(File.dirname(__ FILE__)+'/../../config/environment')が必要です require'cucumber / formatter / unicode'#Cucumber Unicodeをサポートしたくない場合は、この行を削除してください 「キュウリ/レール/世界」が必要 'cucumber / rails/active_record'が必要です 'cucumber / web/tableish'が必要です 'webrat'が必要 'webrat / core/matchers'が必要です 「スペック/スタブ/キュウリ」が必要 シーン::ロード Webrat.configure do | config | config.mode =:rails config.open_error_files = false#ブラウザにエラーページを表示する場合はtrueに設定します 終わり #これをfalseに設定すると、アプリ内から発生したエラーはバブルします #ステップの定義まで、どこかで捕まえない限りキュウリに出かける # 途中。Railsでエラーをレスキューし、エラーページをレンダリングすることができます #シナリオまたは機能に@allow-rescueタグをタグ付けすることによるシナリオごとの基準。 # #これをtrueに設定すると、Railsはすべてのエラーをレスキューしてエラーをレンダリングします #ページ、多かれ少なかれ、アプリケーションがで動作するのと同じように #デフォルトの本番環境。すべての人にこれを行うことはお勧めしません #シナリオ。これにより、アプリケーションのエラーを発見するのが難しくなります。 ActionController :: Base.allow_rescue = false #これをtrueに設定すると、各シナリオはデータベーストランザクションで実行されます。 #タグを付けるだけで、シナリオごとにトランザクションをオフにすることができます #@no-txnタグを使用した機能またはシナリオ。カピバラを使用している場合は、 #@ culerityまたは@javascriptでタグ付けすると、トランザクションもオフになります。 # #これをfalseに設定すると、すべてのシナリオでトランザクションがオフになります。 #@no-txnを使用するかどうかに関係なく。 # #トランザクションをオフにすると、データベースにデータが残ることに注意してください #各シナリオの後、デバッグが困難な障害につながる可能性があります #後続のシナリオ。これを行う場合は、Beforeを作成することをお勧めします #データベースを既知の状態に明示的に置くブロック。 Cucumber :: Rails :: World.use_transactional_fixtures = true #トランザクションがオフになっているときにデータベースをクリーンアップする方法。見る #詳細については、http://github.com/bmabey/database_cleanerを参照してください。 定義されている場合?(ActiveRecord :: Base) 始める 'database_cleaner'が必要 DatabaseCleaner.strategy =:truncation LoadErrorをレスキュー=>ignore_if_database_cleaner_not_present 終わり 終わり