Test :: Unit Rails - 如何断言一个数字大于另一个数字?

时间:2011-04-28 13:54:36

标签: ruby-on-rails assert testunit

我正在用Test :: Unit编写我的第一个单元测试,我已经达到了需要比较两个数字的程度。令我惊讶的是,我发现以下都不是available:

assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than

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

由于

3 个答案:

答案 0 :(得分:62)

不是像你建议的那样提供一堆不同的断言,而是Test :: Unit提供方法assert_operator,使用如下:

assert_operator x, :>, y
assert_operator x, :>=, y
etc. 

答案 1 :(得分:11)

这个简单的事情怎么样,

assert x>y

答案 2 :(得分:2)

以下是您可以在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