Fish Shell:
Pisanie testów
Jak to zrobić:
Fish nie posiada wbudowanego frameworku testowego, jak niektóre inne środowiska programistyczne. Niemniej jednak, możesz pisać proste skrypty testowe, które używają asercji do sprawdzania zachowania Twoich funkcji. Dodatkowo, możesz wykorzystać narzędzia stron trzecich, takie jak fishtape
, dla bardziej kompleksowego zestawu testowego.
Przykład 1: Podstawowy skrypt testowy
Zacznijmy od podstawowej funkcji w Fish, która oblicza sumę dwóch liczb:
function add --description 'Dodaj dwie liczby'
set -l sum (math $argv[1] + $argv[2])
echo $sum
end
Możesz napisać podstawowy skrypt testowy dla tej funkcji w taki sposób:
function test_add
set -l result (add 3 4)
if test $result -eq 7
echo "test_add przeszedł"
else
echo "test_add nie przeszedł"
end
end
test_add
Uruchomienie tego skryptu powinno dać wynik:
test_add przeszedł
Przykład 2: Użycie Fishtape
Dla bardziej solidnego rozwiązania testowego, możesz użyć fishtape
, generującego TAP runnera testów dla Fish.
Najpierw zainstaluj fishtape
, jeśli jeszcze tego nie zrobiłeś:
fisher install jorgebucaran/fishtape
Następnie, utwórz plik testowy dla swojej funkcji add
, np. add_test.fish
:
test "Dodawanie 3 i 4 daje 7"
set result (add 3 4)
echo "$result" | fishtape
end
Aby uruchomić test, użyj następującego polecenia:
fishtape add_test.fish
Przykładowy wynik może wyglądać tak:
TAP version 13
# Dodawanie 3 i 4 daje 7
ok 1 - test_add przeszedł
To mówi Ci, że test zakończył się sukcesem. fishtape
pozwala na strukturyzowanie bardziej szczegółowych testów i zapewnia informatywne wyniki, ułatwiając debugowanie i zapewniając kompleksowe pokrycie testowe dla Twoich skryptów Fish.