44 votes

Test::Unit Rails - Comment affirmer qu'un nombre est supérieur à un autre ?

J'écris mes premiers tests unitaires avec Test::Unit et je suis arrivé à un point où je dois comparer deux nombres. A ma grande surprise, j'ai découvert qu'aucun des suivants n'était disponible :

assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than

Est-ce normal ? Comment dois-je m'y prendre ?

Merci

68voto

Jacob Mattison Points 32137

Plutôt que de fournir un tas d'assertions différentes comme vous le suggérez, Test::Unit fournit la méthode suivante assert_operator utilisé comme ça :

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

13voto

bragboy Points 13615

Que diriez-vous de cette chose simple,

assert x>y

3voto

Tyler Points 21

Voici quelques fonctions que vous pouvez mettre dans 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

Puis appelez comme ça :

assert_gt 6, 3
assert_gte 5, 5
assert_lt 4, 5
assert_lte 5, 5

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X