私はrspec、rspec-rails、cucumber、webratを使用してレールに取り組んでいます。私はBDDとテスト全般を学ぼうとしています。私はこのようなキュウリのシナリオを持っています:
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"
クイズを正しく作成して保存する手順1を追加しました(プットでテストしました)。現在、ステップ2に取り組んでいます。paths.rbに新しいパスを追加しています
when /^the experiment page for quiz titled "(.*)"$/i
new_quiz_experiment_path(Quiz.find_by_title($1))
何らかの理由find_by_title
で動作しません。このエラーメッセージが表示されます:
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))
また、条件を使用して最初に簡単な検索を試しましたが、どちらも機能しません。
何か案が?
よろしくお願いします、
Davide