0

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
  終わり
終わり

なにが問題ですか?ありがとうございました。

4

1 に答える 1

0

このエラーは、ステップまたはヘルパーがこのメソッドを定義していないことを示しています。

Webratに埋もれているヘルパーの1つを使おうとしていますか?あなたが望むように聞こえます:

Webrat::Locators.find_link
于 2010-07-29T16:21:57.180 に答える