2017-04-24 1 views
0

Je suis nouveau à des tests de rails et j'essaie de comprendre l'appel à assert_difference. De la documentation, je déduis que la méthode nécessite une valeur numérique pour la différence entre la valeur précédente et la valeur finale de l'expression. Et si je veux juste affirmer qu'il y a une différence, peu importe la taille? Peut-être quelque chose comme assert_not (assert_no_difference ...)?rails assert_difference sans différence spécifique valeur

Répondre

1

Si vous regardez la documentation, vous remarquerez que la signature de la méthode est:

assert_difference(expression, difference = 1, message = nil, &block) 

Le difference = 1 indique que la méthode définit 1 comme valeur par défaut pour l'argument de différence si aucune valeur est fournie .

L'idée générale derrière cette méthode est qu'il y aura un changement spécifique dans la valeur de quelque chose que vous voulez vérifier dans votre test. Si vous voulez simplement tester qu'une valeur a changé, vous pouvez utiliser vos propres variables et les affirmer.

Peut-être quelque chose comme cela devrait suffire:

value = 0 
new_value = some_function 
assert_not_equal value, new_value 

Bonne chance!