Ich habe diesen Testfall geschrieben:
%Vor% aber es bewertet nicht so, wie ich es erwarten würde. myFn
löst einen ArgumentError ( do: raise ArgumentError
) aus, wird jedoch nicht von assert_raise
abgefangen.
Das Beispiel in der Dokumentation funktioniert gut:
%Vor%Aus der Dokumentation:
assert_raise(exception, function)
Stellt sicher, dassexception
während der Ausführung vonfunction
ausgelöst wird. Gibt die gerettete Ausnahme zurück, schlägt andernfalls fehl
Ich vermute, dass in meinem Testfall die Argumente zuerst ausgewertet werden. Aber wie soll ich es geschrieben haben?
Das Ablegen des Funktionsaufrufs in einer Funktion ist der richtige Weg.
%Vor% Ich habe erwartet, dass assert_raise
einen Funktionsaufruf nimmt, aber es braucht eine Funktion.