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

发布于 2024-11-04 05:10:44 字数 325 浏览 4 评论 0原文

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

assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than

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

谢谢

I am writing my first unit tests with Test::Unit and I have reached a point where I need to compare two numbers. Much to my surprise, I have discovered that none of the following were available:

assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than

Is this normal? How should I do it then?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

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

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

Rather than provide a bunch of different assertions as you suggest, Test::Unit provides the method assert_operator, used like this:

assert_operator x, :>, y
assert_operator x, :>=, y
etc. 
黑白记忆 2024-11-11 05:10:44

这个简单的事情怎么样

assert x>y

How about this simple thing,

assert x>y
凉薄对峙 2024-11-11 05:10:44

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

Here are some functions you can put in 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

Then call like so:

assert_gt 6, 3
assert_gte 5, 5
assert_lt 4, 5
assert_lte 5, 5
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文