Rails 4集成测试找不到链接

时间:2013-10-23 05:28:47

标签: ruby-on-rails-4 capybara capybara-webkit

我使用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?('发送托管请求')时,它返回true

1 个答案:

答案 0 :(得分:0)

尝试:

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

它应该有用......

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

摆动