使用 Rails 和 Rspec,有没有办法查看某个操作真正将您带到哪个页面?

问题描述 投票:0回答:1

我有一个 Rails 测试,其中我转到一个页面并输入信息,保存该页面(这使我返回一页),然后尝试返回以查看数据是否仍然存在。我碰壁了,但怀疑如果我能看到页面上的内容,我就能辨别出错误的地方或如何调整我的断言。有没有办法可视化/断点/卷曲测试实际遇到的页面?我断言的一切都被证明是错误的。

it "Emergency Contact step saves data submitted" do
  click_link "Register online"
  click_link "Emergency Contacts"
  fill_in "Contact 1 Name", :with => "1 name"
  fill_in "Contact 1 Phone", :with => "123.456.7890"
  click_button "Save"
  click_link "Emergency Contacts"
  assert page.has_content?("1 name")
  assert page.has_content?("123.456.7890") 
end
ruby-on-rails testing rspec assert
1个回答
0
投票

我在页面转换后使用的一种技术是根据已知路径检查当前路径(路由),如下所示:

assert_equal page.current_path, new_page_path
# or
assert_equal page.current_path, "/things/new"

另一种调试方法可能是查看

page.html
的内容,例如

puts page.html

或者使用 capybara 的

save_and_open_page
方法,它将当前页面的 HTML 保存到 Rails 应用程序的
tmp
目录中,并在浏览器中打开它。

© www.soinside.com 2019 - 2024. All rights reserved.