Capybara/RSpec - 使用has_content测试多种可能的结果

Vie*_*iet 9 rspec capybara

我是新手测试,所以忍受我:)

我想在页面上测试随机内容.例如,让我们测试页面显示'foo'或'bar'的内容.

以下是我正在努力实现的目标

page.should (have_content('foo') || have_content('bar'))
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Art*_*rov 10

我不知道有没有准备好为你使用Mather.但你可以烤自己的.

使用满足:

page.should satisfy {|page| page.has_content?('foo') or page.has_content?('bar')}

simple_matcher

def have_foo_or_bar
  simple_matcher("check content has foo or bar") { |page| page.has_content?('foo') or page.has_content?('bar') }
end

describe page
  it "should have foo or bar" do
    page.should have_foo_or_bar
  end
end
Run Code Online (Sandbox Code Playgroud)

编辑: has_content接受正则表达式,以便您可以检查page.should have_content(/foo|bar/)