我是新手测试,所以忍受我:)
我想在网页上测试随机内容。例如,让我们测试页面以显示内容'foo'或'bar'。
以下是我正在努力实现的目标
page.should (have_content('foo') || have_content('bar'))
有什么想法吗?
答案 0 :(得分:9)
我不知道是否准备好为您使用Mather。但你可以自己烤。
使用satisfy:
page.should satisfy {|page| page.has_content?('foo') or page.has_content?('bar')}
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
修改: has_content
接受正则表达式,因此您可以检查page.should have_content(/foo|bar/)
答案 1 :(得分:0)
我有同样的问题,但意识到它可能更容易&更灵活地在您的规范中添加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
希望这有助于提供另一种观点。最简单的解决方案通常是最好的。