45

我正在用 Test::Unit 编写我的第一个单元测试,我已经到了需要比较两个数字的地步。令我惊讶的是,我发现以下内容均不可用:

assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than

这是正常的吗?那我该怎么做呢?

谢谢

4

3 回答 3

71

Test::Unit 并没有像您建议的那样提供一堆不同的断言,而是提供了 method 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 回答