1

我想测试一个实例变量是否位于一个数字范围内:

#part of the tested class
class Item
  def initialize(value = 70 + rand(30))
    @value = value
  end

我尝试了minitest 断言列表中的断言,但它们不起作用。我通过使用 assert_in_delta 解决了这个问题,如下所示:

#test_value.rb
class ValueTestCase < Test::Unit::TestCase
  def test_if_value_in_range
    item = Item.new
    assert_in_delta(85, item.value, 15)
  end
end

但想知道是否对此有正式的断言。

4

3 回答 3

8
assert(item.value.between?(70, 100))
于 2012-04-04T17:48:16.493 回答
6

另一种方法是使用Range#include?

assert_includes 70..100, p.value
于 2012-04-04T17:39:19.207 回答
0

断言((最小..最大)===结果)

与 Test::Unit 一起使用。

于 2018-07-25T12:03:51.667 回答