Sto usando Cetriolo per lo sviluppo BDD nel mio progetto Ruby on Rails e sto correndo un po 'di confusione su come path.rb gestisce i percorsi utilizzati nelle applicazioni rails.Cucumber e webrat - Come gestire gli URL dinamici nel paths.rb?
Dato che ho:
class Parent < ActiveRecord::Base
has_many :children
end
class Child < ActiveRecord::Base
belongs_to :parent
end
e ho la seguente caratteristica Cetriolo:
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
con il percorso definito come:
def path_to(page_name)
case page_name
when /the children list page/
'/parents/:id/children'
end
Il problema che ho incontrato è la errore seguente durante l'esecuzione della funzionalità:
Spec::Expectations::ExpectationNotMetError: expected: "/parents/:id/children",
got: "/parents/1726/children" (using ==)
Non mi interessa davvero cosa sia l'id. Cosa dovrei fare invece? Questo è possibile anche con i passaggi web predefiniti? Sto pensando al problema nel modo sbagliato?