45

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

assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than

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

ありがとう

4

3 に答える 3

71

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

assert_operator x, :>, y
assert_operator x, :>=, y
etc. 
于 2011-04-28T13:59:03.727 に答える
13

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

assert x>y
于 2011-04-28T13:56:21.803 に答える
3

ここにあなたが入れることができるいくつかの機能があります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
于 2017-09-28T19:28:36.657 に答える