私はrspec、rspec-rails、cucumber、およびwebratを使用している。 私はBDDを学び、一般的にテストしようとしています。 私はこのようなキュウリのシナリオがあります:私はalrady私が作成し、正しくクイズを保存するステップ1を、追加したキュウリ:rails dynamic findがpaths.rbで動作しない
Scenario: Questions List
Given quiz titled "Pearl Jam" has questions named "Corduroy, Dissident"
When I go to the experiment page for quiz titled "Pearl Jam"
Then I should see "Corduroy"
And I should see "Dissident"
を(私はプットにより試験しました)。 は今、私はfind_by_title
が動作しないいくつかの理由についてpaths.rb
when /^the experiment page for quiz titled "(.*)"$/i
new_quiz_experiment_path(Quiz.find_by_title($1))
に新しいパスを追加していステップ2に取り組んでいます。このエラーメッセージが表示されます:
new_quiz_experiment_url failed to generate from {:quiz_id=>nil, :action=>"new", :controller=>"experiments"}, expected: {:action=>"new", :controller=>"experiments"}, diff: {:quiz_id=>nil} (ActionController::RoutingError)
私は確かにレコードがあり、正しく保存されています。挿入した場合
puts Quiz.find(1).title
「パールジャム」が表示されます。 find_by
はキュウリ生成されたファイルは、この例が含まれているので、非常に奇妙である、動作していないように見える:
# when /^(.*)'s profile page$/i
# user_profile_path(User.find_by_login($1))
私はまた、より簡単な条件で、それはどちらか動作しません最初に見つけてみました。
事前に
おかげで、
ダヴィデ
「find_by_title!」を使用してください。最後に感嘆符が付きます。よりわかりやすいエラーメッセージが表示されることがあります。 – ryanb
パーフェクトチップ。私は「タイトル=パール・ジャムでクイズを見つけることができませんでした。ヒントの後、私は前のステップを一貫して解析せず、 "Pearl Jam"(引用符で囲む)という名前を保存していることに気がつきました。なぜ私がその記録を見つけられなかったのかを説明します。ありがとう! – nutsmuggler
また、あなたは鉄道のライアンだと分かりました。このテストケースはキュウリの導入後にモデル化されているので、あなたのヒントは非常に適切でタイムリーでした!また、偉大な鉄道業界の仕事のおかげで、またおかげで! – nutsmuggler