gpt4 book ai didi

ruby-on-rails - 如何调试 cucumber 测试?

转载 作者:数据小太阳 更新时间:2023-10-29 07:13:00 33 4
gpt4 key购买 nike

我有:

When /^(?:|I )follow "([^"]*)"(?: within "([^"]*)")?$/ do |link, selector|  
with_scope(selector) do
click_link(link)
end
end

我打电话的地方:

Background:
Given I am an existing admin user
When I follow "CLIENTS"

我的 HTML 是这样的:

<a class="active" href="/companies"><h2>CLIENTS</h2></a>

我一直收到这个错误:

.F-.F--U-----U

(::) failed steps (::)

no link with title, id or text 'CLIENTS' found (Capybara::ElementNotFound)
(eval):2:in `click_link'
./features/step_definitions/web_steps.rb:54:in `block (2 levels) in <top (required)>'
./features/step_definitions/web_steps.rb:14:in `with_scope'
./features/step_definitions/web_steps.rb:53:in `/^(?:|I )follow "([^"]*)"(?: within "([^"]*)")?$/'
features/client_add.feature:8:in `When I follow "CLIENTS"'

我尝试了一些东西:

When I follow "<h2>CLIENTS</h2>"

甚至尝试了 save_and_open_page 应该打开浏览器并仍然得到相同的结果:

Given /^I am an existing admin user$/ do
role_user = FactoryGirl.create(:role_user)
admin_user = role_user.user
sign_in(admin_user)
save_and_open_page
end

有没有办法打印 HTML 或找出测试失败的原因?

最佳答案

我最喜欢的调试 cucumber 步骤的方法是调用 binding.pry

确保 pry gem 包含在用于 :development, test 的 gem 文件中,然后在之前放置 binding.pry 调用抛出错误的行。然后,您应该能够使用 ls 命令检查环境,如果您能找到正在运行的 capybara session ,您可以(如果 capybara session 存储为名为 page 的变量)page.html page.text 查看可见的内容。

希望对您有所帮助。

关于ruby-on-rails - 如何调试 cucumber 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176762/

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