Bash:
Scrivere test

Come fare:

Bash non ha un framework di test integrato, ma è possibile scrivere semplici funzioni di test. Per test più sofisticati, strumenti di terze parti come bats-core sono popolari.

Esempio di test di base in Bash puro:

function test_example_function {
  result=$(your_function 'test_input')
  expected_output="expected_output"
  
  if [[ "$result" == "$expected_output" ]]; then
    echo "Test superato."
    return 0
  else
    echo "Test fallito. Aspettato '$expected_output', ottenuto '$result'"
    return 1
  fi
}

# Invocazione della funzione di test
test_example_function

Output dell’esempio:

Test superato.

Usare bats-core per i test:

Prima, installare bats-core. Questo può di solito essere fatto tramite il gestore di pacchetti o clonando il suo repository.

Poi, scrivere i vostri test in file .bats separati.

# File: example_function.bats

#!/usr/bin/env bats

@test "testare la funzione di esempio" {
  result="$(your_function 'test_input')"
  expected_output="expected_output"
  
  [ "$result" == "$expected_output" ]
}

Per eseguire i test, basta eseguire il file .bats:

bats example_function.bats

Output dell’esempio:

 ✓ testare la funzione di esempio

1 test, 0 fallimenti

Questo approccio consente di integrare facilmente i test nel vostro flusso di lavoro di sviluppo, garantendo l’affidabilità e la stabilità degli script Bash.