Fish Shell:
Письмо тестів
Як:
Оболонка Fish не має вбудованого фреймворку для тестування, як деякі інші програмні середовища. Проте, ви можете написати прості тестові скрипти, які використовують утвердження (assertions) для перевірки поведінки ваших функцій. Крім того, ви можете використовувати інструменти сторонніх розробників, як-от fishtape, для більш всебічного набору тестів.
Приклад 1: Простий Тестовий Скрипт
Почнемо з базової функції у Fish, яка розраховує суму двох чисел:
function add --description 'Додати два числа'
set -l sum (math $argv[1] + $argv[2])
echo $sum
endВи можете написати простий тестовий скрипт для цієї функції таким чином:
function test_add
set -l result (add 3 4)
if test $result -eq 7
echo "test_add пройшов"
else
echo "test_add не пройшов"
end
end
test_addЗапуск цього скрипта виведе:
test_add пройшовПриклад 2: Використання Fishtape
Для більш надійної тестової рішення, ви можете використовувати fishtape, генератор тестів TAP для Fish.
Спочатку встановіть fishtape, якщо ви ще цього не зробили:
fisher install jorgebucaran/fishtapeДалі створіть тестовий файл для вашої функції add, наприклад, add_test.fish:
test "Додавання 3 і 4 дає 7"
set result (add 3 4)
echo "$result" | fishtape
endДля запуску тесту використовуйте наступну команду:
fishtape add_test.fishПриклад виводу може виглядати так:
TAP version 13
# Додавання 3 і 4 дає 7
ok 1 - test_add пройшовЦе говорить вам про те, що тест пройшов успішно. fishtape дозволяє структурувати більш детальні тести та надає інформативний вивід, сприяючи легшому відлагодженню та всебічному покриттю тестами ваших скриптів Fish.