Fish Shell:
Tests Schreiben
Wie:
Fish hat kein eingebautes Test-Framework wie einige andere Programmierumgebungen. Sie können jedoch einfache Testskripte schreiben, die Behauptungen (Assertions) nutzen, um das Verhalten Ihrer Funktionen zu überprüfen. Zusätzlich können Sie Drittanbieter-Tools wie fishtape
für eine umfassendere Testumgebung nutzen.
Beispiel 1: Einfaches Testskript
Beginnen wir mit einer einfachen Funktion in Fish, die die Summe zweier Zahlen berechnet:
function add --description 'Zwei Zahlen addieren'
set -l sum (math $argv[1] + $argv[2])
echo $sum
end
Sie können ein einfaches Testskript für diese Funktion wie folgt schreiben:
function test_add
set -l result (add 3 4)
if test $result -eq 7
echo "test_add bestanden"
else
echo "test_add fehlgeschlagen"
end
end
test_add
Die Ausführung dieses Skripts würde ausgeben:
test_add bestanden
Beispiel 2: Verwendung von Fishtape
Für eine robustere Testlösung können Sie fishtape
, einen TAP-produzierenden Testrunner für Fish, verwenden.
Installieren Sie zunächst fishtape
, falls Sie dies noch nicht getan haben:
fisher install jorgebucaran/fishtape
Erstellen Sie als Nächstes eine Testdatei für Ihre add
-Funktion, z.B. add_test.fish
:
test "Addieren von 3 und 4 ergibt 7"
set result (add 3 4)
echo "$result" | fishtape
end
Um den Test auszuführen, verwenden Sie den folgenden Befehl:
fishtape add_test.fish
Eine beispielhafte Ausgabe könnte wie folgt aussehen:
TAP version 13
# Addieren von 3 und 4 ergibt 7
ok 1 - test_add bestanden
Das teilt Ihnen mit, dass der Test erfolgreich war. fishtape
ermöglicht es Ihnen, detailliertere Tests zu strukturieren und bietet informative Ausgaben, was das Debuggen erleichtert und eine umfassende Testabdeckung für Ihre Fish-Skripte fördert.