Test :: Unit Rails - Как утверждать, что одно число больше другого? - PullRequest
39 голосов
/ 28 апреля 2011

Я пишу свои первые модульные тесты с Test :: Unit, и я достиг точки, где мне нужно сравнить два числа. К моему большому удивлению, я обнаружил, что ничего из перечисленного не было доступным:

assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than

Это нормально? Как мне тогда это сделать?

Спасибо

Ответы [ 3 ]

64 голосов
/ 28 апреля 2011

Вместо того, чтобы предоставлять кучу различных утверждений, как вы предлагаете, Test :: Unit предоставляет метод assert_operator, используемый следующим образом:

assert_operator x, :>, y
assert_operator x, :>=, y
etc. 
11 голосов
/ 28 апреля 2011

Как насчет этой простой вещи,

assert x>y
2 голосов
/ 28 сентября 2017

Вот некоторые функции, которые вы можете поместить в 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
...