Cucumber/Capybara-如何基于布尔变量标记测试用例通过或失败

Cucumber/Capybara-如何基于布尔变量标记测试用例通过或失败,cucumber,range,capybara,Cucumber,Range,Capybara,在cucumber测试用例中,我在数组中有一组可接受的预期值,比如说可接受。得到的实际结果是实际结果变量。如果任何可接受的值在范围内(比如actualResult-2到actualResult+2),我希望测试用例通过 简言之,我想为下面的执行实现,因为acceptable有6个,在2到7的范围内 irb(main):087:0> acceptable= [1,6,9] => [1, 6, 9] irb(main):088:0> result = 2..7 => 2..7

在cucumber测试用例中,我在数组中有一组可接受的预期值,比如说可接受。得到的实际结果是实际结果变量。如果任何可接受的值在范围内(比如actualResult-2到actualResult+2),我希望测试用例通过

简言之,我想为下面的执行实现,因为acceptable有6个,在2到7的范围内

irb(main):087:0> acceptable= [1,6,9]
=> [1, 6, 9]
irb(main):088:0> result = 2..7
=> 2..7
irb(main):089:0> acceptable.include?(result)
=> false
我想到了一个间接的解决方案,我将做以下工作-

acceptable.each do |value|
begin
  if (value.should be_within(delta).of(result))
    matches? = true
  end
rescue
  matches? = false
end 

但在这里我想知道如何告诉cucumber如果
匹配?==true
通过此测试用例,无需进一步执行循环。

您可以使用
break
终止循环或块。以下是指向的链接。

两个注意事项:A)间接解决方案片段缺少一个
结尾
;b)看起来你是在做作业,而不是比较
匹配项?=true
(即
=
而不是
=
)。