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 に答える