Ruby on rails 测试::单元轨道-如何断言一个数字大于另一个数字?

Ruby on rails 测试::单元轨道-如何断言一个数字大于另一个数字?,ruby-on-rails,assert,testunit,Ruby On Rails,Assert,Testunit,我正在用Test::unit编写我的第一个单元测试,我已经到了需要比较两个数字的地步。令我大吃一惊的是,我发现以下这些都不正确 这正常吗?那我该怎么做呢 谢谢这个简单的东西怎么样 assert x>y Test::Unit并没有像您建议的那样提供一系列不同的断言,而是提供了方法assert\u操作符,如下所示: assert_operator x, :>, y assert_operator x, :>=, y etc. 下面是一些可以放在test/test\u help

我正在用Test::unit编写我的第一个单元测试,我已经到了需要比较两个数字的地步。令我大吃一惊的是,我发现以下这些都不正确

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


谢谢

这个简单的东西怎么样

assert x>y

Test::Unit并没有像您建议的那样提供一系列不同的断言,而是提供了方法
assert\u操作符
,如下所示:

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

下面是一些可以放在
test/test\u 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()几乎总是可以用于应用给定的测试,但它应该是最后的手段,因为它在失败时给出的结果没有那么有意义。在这种情况下,更好的方法是使用assert_运算符。@JacobM:谢谢分享!我得到一个未定义的方法“assert\u true”。是否已弃用?与布尔值一起使用的实际断言只是
assert
,而不是
assert\u true
  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