私はRailsとTDDに不慣れで、RspecテストとCucumberテストの間の移行で立ち往生しています。私のRspecテストはすべて緑色に合格しています。
ModelController
Find with same attribute
should call the controller method that performs attribute search
should select the Search Results template for rendering
should make the attribute search results available to that template
それで、キュウリの機能に戻ります。
When I follow "Find Items With Same Attribute"
Then I should be on the Similar Items page for "Attribute"
これをビューに含めると、最初のものは緑色になります。
= link_to "Find Items With Same Attribute"
2つ目は、paths.rbファイルを変更して次のものを含めます。
when /^the Similar Items page for "(.*)"/
"/model/search_by_attribute/#{Model.find_by_name($1).attribute}"
そして、それはこのエラーで失敗します
expected: "/model/search_by_attribute/Attribute"
got: "/model/1" (using ==) (RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/web_steps.rb:233:in `/^(?:|I )should be on (.+)$/'
features/search_by_attribute.feature:25:...
model_steps.rbにステップ定義を含めると、別のエラーが発生します。
Ambiguous match of "I should be on the Similar Items page for "Attribute"":
features/step_definitions/model_steps.rb:11:in `/^(?:|I )should be on the (.+) page for "(.*)"$/'
features/step_definitions/web_steps.rb:230:in `/^(?:|I )should be on (.+)$/'
ビューでルートを終了する必要がありますか?あいまいにならないステップ定義を書く必要がありますか?ここから先に進む方法がわかりません。何か提案をいただければ幸いです。