任何特殊的断言来测试结果整数是否在一个范围内

时间:2012-04-04 17:26:29

标签: ruby unit-testing

我想测试一个实例变量是否位于一系列数字中:

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

我尝试了minitest assertions list中的断言,但它们没有用。我通过使用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

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

3 个答案:

答案 0 :(得分:8)

assert(item.value.between?(70, 100))

答案 1 :(得分:5)

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

assert_includes 70..100, p.value

答案 2 :(得分:0)

assert((min..max)=== result)

使用Test :: Unit。