2

我正在尝试编写一个单击链接的测试,但是当我运行测试时,Capybara 返回以下错误:

 "no link with title, id or text 'New Mwod post' found

所以我放了一个“调试器”并打印了响应。正文包含以下内容:

<a href=\"/mwod_posts/new\">New Mwod post</a>

测试有以下代码:

describe "GET /mwod_posts/new" do
  it "creates a new mwod post" do
    FactoryGirl.create(:mwod_tag)
    get mwod_posts_path
    debugger
    response.status.should be(200)
    click_link "New Mwod post"
  end
end

任何想法为什么水豚不能点击链接?

4

1 回答 1

1

问题是您在get应该使用visit.

转变:

get mwod_posts_path

至:

visit mwod_posts_path

这将让您单击链接click_link等。要解析响应,您需要更改:

response.status.should be(200)

至:

page.response_code.should be(200)

我实际上并没有确认这是否有效,但其他地方的讨论似乎表明您可以通过这种方式从page. 虽然,正如讨论中所指出的,这不是您在集成测试中真正应该做的事情。

有关更多信息,请参阅此答案get这篇文章之间的区别。(这是一个常见的混淆点。)。visit

于 2012-09-24T01:44:37.770 回答