Bash:
Escrevendo testes

Como fazer:

O Bash não possui uma estrutura de testes embutida, mas você pode escrever funções de teste simples. Para testes mais sofisticados, ferramentas de terceiros como bats-core são populares.

Exemplo Básico de Teste em Bash Puro:

function test_example_function {
  result=$(your_function 'test_input')
  expected_output="expected_output"
  
  if [[ "$result" == "$expected_output" ]]; then
    echo "Teste passou."
    return 0
  else
    echo "Teste falhou. Esperava-se '$expected_output', obteve-se '$result'"
    return 1
  fi
}

# Invocando a função de teste
test_example_function

Saída de Amostra:

Teste passou.

Usando bats-core para Testes:

Primeiro, instale bats-core. Isso geralmente pode ser feito através do seu gerenciador de pacotes ou clonando seu repositório.

Em seguida, escreva seus testes em arquivos .bats separados.

# Arquivo: example_function.bats

#!/usr/bin/env bats

@test "testar exemplo de função" {
  result="$(your_function 'test_input')"
  expected_output="expected_output"
  
  [ "$result" == "$expected_output" ]
}

Para executar seus testes, simplesmente execute o arquivo .bats:

bats example_function.bats

Saída de Amostra:

 ✓ testar exemplo de função

1 teste, 0 falhas

Essa abordagem permite que você integre facilmente os testes no seu fluxo de trabalho de desenvolvimento, garantindo a confiabilidade e estabilidade dos seus scripts Bash.