Fish Shell:
Scrivere test

Come fare:

Fish non dispone di un framework di testing integrato come alcuni altri ambienti di programmazione. Tuttavia, puoi scrivere semplici script di test che utilizzano affermazioni per verificare il comportamento delle tue funzioni. Inoltre, puoi sfruttare strumenti di terze parti come fishtape per una suite di testing più completa.

Esempio 1: Script di Test Base

Cominciamo con una funzione base in Fish che calcola la somma di due numeri:

function add --description 'Add two numbers'
    set -l sum (math $argv[1] + $argv[2])
    echo $sum
end

Puoi scrivere uno script di test di base per questa funzione così:

function test_add
    set -l result (add 3 4)
    if test $result -eq 7
        echo "test_add passed"
    else
        echo "test_add failed"
    end
end

test_add

Eseguendo questo script produrrebbe:

test_add passed

Esempio 2: Utilizzo di Fishtape

Per una soluzione di test più robusta, puoi utilizzare fishtape, un test runner per Fish che produce output TAP.

Prima, installa fishtape se non lo hai già fatto:

fisher install jorgebucaran/fishtape

Successivamente, crea un file di test per la tua funzione add, ad esempio, add_test.fish:

test "Sommando 3 e 4 si ottiene 7"
    set result (add 3 4)
    echo "$result" | fishtape
end

Per eseguire il test, utilizza il seguente comando:

fishtape add_test.fish

Un esempio di output potrebbe essere:

TAP version 13
# Sommando 3 e 4 si ottiene 7
ok 1 - test_add passed

Questo ti informa che il test è stato superato con successo. fishtape permette di strutturare test più dettagliati e fornisce output informativi, facilitando il debugging e garantendo una copertura di test completa per i tuoi script in Fish.