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
endMoż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_addUruchomienie 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/fishtapeNastę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
endAby uruchomić test, użyj następującego polecenia:
fishtape add_test.fishPrzykł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.