web-dev-qa-db-ja.com

Test :: Unit Rails-1つの数値が別の数値よりも大きいことを表明する方法は?

Test :: Unitを使用して最初の単体テストを作成していますが、2つの数値を比較する必要があります。驚いたことに、次のどれも 利用可能: ではないことがわかりました。

assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than

これは正常ですか?それではどうすればいいですか?

ありがとう

41

Test :: Unitは、提案するようにさまざまなアサーションを提供するのではなく、次のように使用されるメソッドassert_operatorを提供します。

assert_operator x, :>, y
assert_operator x, :>=, y
etc. 
66
Jacob Mattison

この簡単なことはどうですか、

assert x>y
11
bragboy

test/test_helper.rbに配置できる関数は次のとおりです。

  def assert_gt(a, b)
    assert_operator a, :>, b
  end

  def assert_gte(a, b)
    assert_operator a, :>=, b
  end

  def assert_lt(a, b)
    assert_operator a, :<, b
  end

  def assert_lte(a, b)
    assert_operator a, :<=, b
  end

次に、次のように呼び出します。

assert_gt 6, 3
assert_gte 5, 5
assert_lt 4, 5
assert_lte 5, 5
2
Tyler