Capybara/RSpec——测试have_含量的多种可能结果

Capybara/RSpec——测试have_含量的多种可能结果,rspec,capybara,Rspec,Capybara,我是测试新手,所以请容忍我:) 我想测试页面上的随机内容。例如,让我们测试页面是否显示“foo”或“bar”内容 下面是我想要达到的目标 page.should (have_content('foo') || have_content('bar')) 有什么好主意吗?我不知道有什么好用的。但是你可以自己烤 使用: page.should满足{page | page.has_content?('foo')或page.has_content?('bar')} 或 编辑:有内容接受正则表达式,因此您

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

我想测试页面上的随机内容。例如,让我们测试页面是否显示“foo”或“bar”内容

下面是我想要达到的目标

page.should (have_content('foo') || have_content('bar'))

有什么好主意吗?

我不知道有什么好用的。但是你可以自己烤

使用:

page.should满足{page | page.has_content?('foo')或page.has_content?('bar')}


编辑:
有内容
接受正则表达式,因此您可以检查
页面。应该有内容(/foo | bar/)
我有同样的问题,但意识到在规范中添加if语句可能更容易、更具弹性

it 'can complete my incredible form' do
  visit '/testing_path'
  #...dostuff...

  if object_im_testing.contains_my_condition?
    current_path.should eq('/special_condition_url')
  else
    current_path.should eq('/normal_condition_url')
  end
end

希望这能从另一个角度帮助我们。最简单的解决方案通常是最好的。

我觉得你问题的标题有点误导。这与统计无关。对吗?称之为“复杂条件测试”或其他(我不擅长制作标题)。想想其他人在寻找你问题的答案。同意。希望新的标题足够了。使用满足工作。无法让simple_matcher工作,因为它正在吐出命名错误。据我所知,该方法已被弃用?最好对自定义错误消息使用simple_matcher。无论如何,谢谢你的帮助!对,我给你的链接已经过时了。抱歉:(不知道为什么谷歌会在顶部显示它,应该会更新它。)当前版本是2.8。最接近简单匹配器的是。
it 'can complete my incredible form' do
  visit '/testing_path'
  #...dostuff...

  if object_im_testing.contains_my_condition?
    current_path.should eq('/special_condition_url')
  else
    current_path.should eq('/normal_condition_url')
  end
end