He actualizado esta respuesta para reflejar las convenciones modernas en carpincho. Creo que esto es ideal ya que esta es la respuesta aceptada, y a lo que se refiere a muchas personas cuando buscan una solución. Dicho esto, la forma correcta de verificar la ruta actual es utilizar el has_current_path?
comparador proporcionado por Capybara, como se documenta aquí: haga clic aquí
Ejemplo de uso:
expect(page).to have_current_path(people_path(search: 'name'))
Como puede ver en la documentación, hay otras opciones disponibles. Si la página actual es /people?search=name
pero solo le importa que esté en la /people
página independientemente del parámetro, puede enviar la only_path
opción:
expect(page).to have_current_path(people_path, only_path: true)
Además, si desea comparar la URL completa:
expect(page).to have_current_path(people_url, url: true)
Gracias a Tom Walpole por señalar este método.
"/people?search=name"
No es un camino ."/people"
es un camino