Я использую Cucumber для разработки BDD в моем проекте Ruby on Rails, и я сталкиваюсь с некоторой путаницей в том, как path.rb обрабатывает пути, используемые в приложениях rails.
Учитывая, что у меня есть:
class Parent < ActiveRecord::Base
has_many :children
end
class Child < ActiveRecord::Base
belongs_to :parent
end
и у меня есть следующая функция огурца:
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. Что мне делать вместо этого? Возможно ли это даже при стандартных шагах по умолчанию? Я думаю о проблеме не так?