如何测试RSpec matcher在页面上找到的内容的匹配数?

如何测试RSpec matcher在页面上找到的内容的匹配数?,rspec,Rspec,我基本上是在尝试获取选项:count为has\u css提供的“has\u content?”或“should has\u content”匹配器的功能?matcher.你能试试像这样的东西吗 以下是几个例子: describe 'my awesome page' do before :each do visit root_path end # css just for querying DOM it 'number of titles should be huge'

我基本上是在尝试获取选项:count为has\u css提供的“has\u content?”或“should has\u content”匹配器的功能?matcher.

你能试试像这样的东西吗

以下是几个例子:

describe 'my awesome page' do
  before :each do
    visit root_path
  end

  # css just for querying DOM
  it 'number of titles should be huge' do
    page.all(:css,'h2.awesome_header').length.should have_at_least(3).items
  end
  it 'has exactly 4 div elements' do
    page.all(:css,'div.awesome_class').length.should == 4
  end

  # For querying content you can try :xpath instead :css. 
  it 'has paragraps with text' do
    page.all(:xpath, '//div[contains(., "t")]').length.should == 9
  end
end
更新:

我找到了更优雅的方法。 检查此处的文档: 下面是一个工作示例

page.all(:css, 'p', :text => /.*wellcome.*/).length.should == 2

不知道你在这里是什么意思。你能用这种语法给我写一个示例测试吗?这些都是很好的示例,但是我真的很想找到一个字符串在呈现页面上出现的次数,而不知道它在DOM中的位置。我会投票支持你的答案,因为这是一个很好的信息,但我不会把它标为“答案”,因为它并没有真正给我一个方法去做我想做的事情。非常感谢:)你可以对-page.text使用一些regexp。是的,这正是我想尝试的事情。谢谢:)