0

我已经谷歌并阅读了大约 4 个小时的 stackoverflow,但无法理解,为什么类似于 rails 教程的测试会失败。

测试很简单:


# encoding: utf-8

require 'spec_helper'

describe "StaticPages" do
  subject { page }

  describe "Contacts page" do
    before { visit contacts_path }

    it { should have_selector(:title, text: "|") }
  end
end

所以,我添加了 save_and_open_page 来查看我的联系人页面有什么问题,但它看起来不错。存在标题标签并包含“|”。

我无法理解,怎么了。我有:

  • 尝试访问;
  • 响应而不是页面;
  • 在正文中永久检查其他内容(body.should have_selector(:h1))。

我还试图了解如何将 rspec 输出提高到更多信息。现在我看到:

Failure/Error: it { should have_selector(:title, text: "|") }
       expected id :title with text "|" to return something
4

1 回答 1

1

据我所知have_selector,它是一个 Capybara 匹配器,根据教程作为第一个参数,您可以在引号或 xpath 表示法中使用 html 元素名称,但不能使用符号。

于 2012-05-01T19:19:52.417 回答