在一个黄瓜测试用例中,我在一个数组中有一组可接受的预期值,表示可以接受。而得到的实际结果在 actualResult 变量中。如果任何可接受的值在实际结果-2 到实际结果+2 的范围内,我希望测试用例通过。
简而言之,我想在下面的执行中得到正确的结果,因为可接受的有 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 如果matches? == true
通过了这个测试用例而不进一步执行循环。