我想在一个场景中测试网站上的多个数据。
我不想在代码中多次使用下面的行来减少代码冗余。expect(page).to have_content 'test1'
expect(page).to have_content 'test2'
例如,我发现了在一句话中写这篇文章的另一种方式,page.should(satisfy { |page| page.has_content?('test1') and page.has_content?('test2') })
然而,有没有更好的方法来实现这一点,因为我想在我的网站上验证10个这样的内容,我不希望重复代码使代码看起来很长。
如果您的条件中只有and
运算符,则可以使用Enumerable#all?
['test1','test2'].all? { |str| expect(page).to have_content str }