0

我正在使用 rails 4 和 capybara 2.1.0 和 rspec 2.0 来开发用户注册模型

这是我的规范的内容

visit register_path  
fill_in 'user[full_name]', with: "xxxx"
click_button 'Register'
expect(page).to find_link("Send hosting request")

在单击注册按钮后的注册表单上,我正在创建一个用户并将他们重定向到该页面,例如用户显示模板上的 user/1

这是展示模板

  <div>
  <strong>Full Name</strong>
  <%= @user.own_profile.full_name %>
  </div>
  <%= link_to 'Send hosting request', root_path %>

但是当我运行测试时出现错误说找不到链接

1) Register Page Create User
   Failure/Error: find_link("Send hosting request")
   Capybara::ElementNotFound:
    Unable to find link "Send hosting request"
 # ./spec/integration/register_page_spec.rb:22:in `block (2 levels) in <top (required)>'
 # -e:1:in `<main>'

当我在用户页面上有链接时,我不明白为什么这个测试失败了

我现在能做什么

当我使用 page.has_content?('Send hosting request') 它返回 true

4

1 回答 1

0

尝试 :

expect(page).to have_link("Send hosting request")

它应该工作...

我发现这个链接很有用http://rubydoc.info/github/jnicklas/capybara/Capybara/RSpecMatchers

有摆动

于 2013-10-23T08:27:45.803 回答