Capybara和Rails,为什么has_link?总是返回false?

时间:2012-01-13 16:22:53

标签: ruby-on-rails-3 rspec capybara

我正在尝试使用has_link进行测试?在我的规范测试中,这是我的测试:

page.has_link?('next_page', {}).should == true

但是,虽然ID为'next_page'的链接存在,但测试总是失败! 奇怪的是,has_content始终正常,这是我实现它的方式:

page.should have_content("some text")
你能帮帮我吗?我在这里失踪了什么?

修改

以下是页面中的结果链接:

<a id="next_page" href="javascript: void(0)" onclick="javascript: void(0)" style="color: #888888">Next</a>

3 个答案:

答案 0 :(得分:7)

我认为你应该这样做:

page.has_link? “next_page”

page.has_link? “next_page”,url_path

答案 1 :(得分:1)

您可以尝试以下示例 -

it "should have logout link" do
  expect(page).to have_link('Logout') 
end 

答案 2 :(得分:0)

我这样做:

rendered.should have_link("Teams", :href => teams_path)