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
endSie 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_addDie Ausführung dieses Skripts würde ausgeben:
test_add bestandenBeispiel 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/fishtapeErstellen 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
endUm den Test auszuführen, verwenden Sie den folgenden Befehl:
fishtape add_test.fishEine beispielhafte Ausgabe könnte wie folgt aussehen:
TAP version 13
# Addieren von 3 und 4 ergibt 7
ok 1 - test_add bestandenDas 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.