在块中的值失败后,如何继续验证数组中的下一个元素

时间:2013-05-24 06:23:54

标签: ruby arrays validation

我正在尝试使用if else验证数组中的字符串。

strings = ["Hello", "goodluck", "Bye" ]
strings.each do |i|      
  if i == "Hello"
    @browser.text.should == ("Welcome")        
  elsif i == 'goodluck'
    @browser.text.should == ("Good Bye")       
  end
 next
end

所以这里第一个条件,浏览器没有文本“欢迎”,所以它失败了。但迭代不会继续验证数组中的下一个元素。如果我在任何地方出错,请指导我?或任何其他方法,无论失败如何,都会对块的所有元素进行测试。

1 个答案:

答案 0 :(得分:0)

如果你在一个测试用例中,(假设你正在使用rspec或类似的东西),失败的断言将停止整个测试用例(因为它失败了)。从技术上讲,一个失败的断言引发了一个Exception,它被捕获到测试用例之外的某个地方(在rspec中为'it {}'),以显示测试失败的原因。

在你的情况下,将测试分成几个案例可能会有所帮助,每个案例都有一个断言,但为了提供更好的建议,我需要知道你想要做什么。