gpt4 book ai didi

ruby-on-rails - 如何使用 Capybara 通过查询字符串获取当前路径

转载 作者:行者123 更新时间:2023-12-03 04:26:10 24 4
gpt4 key购买 nike

页面网址类似于 /people?search=name当我使用 capybara 的 current_path 方法时,它仅返回 /people

current_path.should == people_path(:search => 'name')

但它没有说

expected: "/people?search=name"
got: "/people"

我们怎样才能让它通过?有什么办法可以做到这一点吗?

最佳答案

我更新了这个答案以反射(reflect) capybara 的现代惯例。我认为这是理想的,因为这是公认的答案,也是许多人在寻找解决方案时所引用的答案。话虽如此,检查当前路径的正确方法是使用 Capybara 提供的 has_current_path? 匹配器,如下所示:Click Here

使用示例:

expect(page).to have_current_path(people_path(search: 'name'))

正如您在文档中看到的,还有其他选项可用。如果当前页面是 /people?search=name 但您只关心它在 /people 页面上而不考虑参数,则可以发送 only_path选项:

expect(page).to have_current_path(people_path, only_path: true)

此外,如果您想比较整个 URL:

expect(page).to have_current_path(people_url, url: true)

感谢 Tom Walpole 指出了这种方法。

关于ruby-on-rails - 如何使用 Capybara 通过查询字符串获取当前路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5228371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com