Ruby on Rails プロジェクトで BDD 開発に Cucumber を使用していますが、path.rb が Rails アプリケーションで使用されるパスを処理する方法について混乱しています。
私が持っているとすれば:
class Parent < ActiveRecord::Base
has_many :children
end
class Child < ActiveRecord::Base
belongs_to :parent
end
そして、私は次のCucumber機能を持っています:
Scenario: A test feature
Given I am on the parent page
When I follow "Link to Children"
Then I should be on the children list page
パスは次のように定義されています。
def path_to(page_name)
case page_name
when /the children list page/
'/parents/:id/children'
end
私が遭遇する問題は、機能の実行時に次のエラーが発生することです。
Spec::Expectations::ExpectationNotMetError: expected: "/parents/:id/children",
got: "/parents/1726/children" (using ==)
:id が何であるかはあまり気にしません。代わりに何をすべきですか?これは、デフォルトの Web ステップでも可能ですか? 問題について間違った方法で考えていますか?