2017-04-24 2 views
0

Ich bin neu bei Schienen Tests und ich versuche, den Anruf zu assert_difference zu verstehen. Aus der documentation folge ich, dass die Methode einen numerischen Wert für die Differenz zwischen dem vorherigen und dem endgültigen Wert des Ausdrucks benötigt. Was, wenn ich nur behaupten möchte, dass es einen Unterschied gibt, egal wie groß es ist? Vielleicht etwas wie assert_not (assert_no_difference ...)?Schienen assert_difference ohne spezifischen Differenzwert

Antwort

1

Wenn man sich die Dokumentation aussehen werden Sie feststellen, dass die Signatur für die Methode ist:

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

Die difference = 1 zeigt an, dass die Methode 1 als Standardwert für die Differenz Argument setzt, wenn kein Wert angegeben .

Die allgemeine Idee hinter dieser Methode ist, dass es eine spezifische Änderung im Wert von etwas gibt, das Sie in Ihrem Test überprüfen möchten. Wenn Sie nur testen möchten, dass sich ein Wert geändert hat, können Sie Ihre eigenen Variablen verwenden und bestätigen.

Vielleicht wird so etwas wie die folgenden genügen:

value = 0 
new_value = some_function 
assert_not_equal value, new_value 

Best of luck!

Verwandte Themen