Fish Shell:
Rédaction de tests

Comment faire :

Fish n’a pas de cadre de test intégré comme certains autres environnements de programmation. Cependant, vous pouvez écrire des scripts de test simples qui utilisent des assertions pour vérifier le comportement de vos fonctions. De plus, vous pouvez tirer parti d’outils tiers comme fishtape pour une suite de tests plus complète.

Exemple 1 : Script de Test de Base

Commençons par une fonction basique en Fish qui calcule la somme de deux nombres :

function add --description 'Additionne deux nombres'
    set -l sum (math $argv[1] + $argv[2])
    echo $sum
end

Vous pouvez écrire un script de test basique pour cette fonction comme suit :

function test_add
    set -l result (add 3 4)
    if test $result -eq 7
        echo "test_add réussi"
    else
        echo "test_add échoué"
    end
end

test_add

L’exécution de ce script produirait :

test_add réussi

Exemple 2 : Utilisation de Fishtape

Pour une solution de test plus robuste, vous pouvez utiliser fishtape, un exécuteur de test produisant du TAP pour Fish.

D’abord, installez fishtape si ce n’est pas déjà fait :

fisher install jorgebucaran/fishtape

Ensuite, créez un fichier de test pour votre fonction add, par exemple, add_test.fish :

test "Ajouter 3 et 4 donne 7"
    set result (add 3 4)
    echo "$result" | fishtape
end

Pour exécuter le test, utilisez la commande suivante :

fishtape add_test.fish

Un exemple de sortie pourrait ressembler à ceci :

TAP version 13
# Ajouter 3 et 4 donne 7
ok 1 - test_add réussi

Cela vous indique que le test a réussi avec succès. fishtape vous permet de structurer des tests plus détaillés et fournit une sortie informative, facilitant le débogage et une couverture de test complète pour vos scripts Fish.