Skip to content

tutorial geral

Rodolfo Dirack edited this page Dec 2, 2021 · 5 revisions

Tutorial - Asserções simples

TEST_PASS

Esta é a asserção mais simples da shellunity. A chamada TEST_PASS faz o teste passar. Basta utilizar como no exemplo a seguir, a primeira linha do script carrega a biblioteca a segunda linha faz um teste passar:

source shellunity

TEST_PASS

TEST_FAIL

Esta asserção fará o contrário da asserção TEST_PASS, ou seja, fará um teste falhar ao ser chamada. Basta utilizar como no exemplo a seguir, a primeira linha do script carrega a biblioteca a segunda linha faz um teste falhar:

source shellunity

TEST_FAIL

TEST_ASSERT_EQUAL

Esta asserção é utilizada para testar a igualdade entre dois números. Basta passar dois números para serem comparados pela função:

source shellunity

TEST_ASSERT_EQUAL 10 10

Este teste irá passar pois o número 10 é igual a 10. Todavia, esta função é melhor utilizada para testar o retorno de funções. Exemplo, crie uma função SOMA que retorna a soma de dois números e em seguida teste o retorno da função:

source shellunity

SOMA(){
	RES=$(echo "$1+$2" | bc -l)
	echo "$RES"
}

TEST_ASSERT_EQUAL 10 "$(SOMA 1 9)"

Este teste também irá passar, pois 10 é igual a soma de 1 mais 9.

TEST_ASSERT_NOT_EQUAL

Esta asserção verifica a diferença entre os dois valores passados como argumento. É o oposto de TEST_ASSERT_EQUAL, ou seja, serve para verificar se os valores são diferentes. Exemplo, crie uma função SOMA que retorna a soma de dois números e em seguida teste o retorno da função:

source shellunity

SOMA(){
	RES=$(echo "$1+$2" | bc -l)
	echo "$RES"
}

TEST_ASSERT_NOT_EQUAL 10 "$(SOMA 1 1)"

Este teste também irá passar, pois 10 é diferente da soma de 1 mais 1.

TEST_MESSAGE

Esta asserção serve para exibir uma mensagem qualquer na tela do terminal durante a execução dos testes. A sua utilização é trivial, basta utilizar:

source shellunity

TEST_MESSAGE "Mensagem qualquer"

Para exibir a frase "Mensagem qualquer" na tela do terminal.

TEST_PASS_MESSAGE

Esta asserção faz o teste passar, exatamente como a asserção TEST_PASS, e exibe uma mensagem na tela do terminal. Exemplo, utilize o script a seguir para fazer o teste passar e exibir a mensagem "Mensagem teste passou":

source shellunity

TEST_PASS_MESSAGE "Mensagem teste passou"

TEST_FAIL_MESSAGE

Esta asserção faz o teste passar, exatamente como a asserção TEST_FAIL, e exibe uma mensagem na tela do terminal. Exemplo, utilize o script a seguir para fazer o teste passar e exibir a mensagem "Mensagem teste falhou":

source shellunity

TEST_FAIL_MESSAGE "Mensagem teste falhou"

TEST_ASSERT_TRUE

Esta asserção verifica se a condição passada através de uma string é verdadeira. Utilize como no exemplo a seguir:

source shellunity

TEST_ASSERT_TRUE "2==2"

Este teste irá passar, pois 2 é igual a 2.

TEST_ASSERT_FALSE

Esta asserção verifica se a condição passada através de uma string é falsa. Utilize como no exemplo a seguir:

source shellunity

TEST_ASSERT_FALSE "2==3"

Este teste irá passar, pois 2 é diferente de 3. Portanto a condição passada, 2 igual a 3, é falsa.

TEST_ASSERT_EQUAL_STRING

Esta asserção verifica a igualdade entre duas strings. Utilize como no exemplo

source shellunity

TEST_ASSERT_EQUAL_STRING "Rodolfo" "Rodolfo"

Este teste irá passar, pois a string "Rodolfo" é igual a string "Rodolfo".

TEST_IGNORE on/off

A shellunity utiliza chaves para ligar e desligar a suíte de testes. Basta passar o parâmetro 'on' para TEST_IGNORE para ligar a chave, e todos os testes a partir desta linha serão ignorados. Para desligar a chave e passar a realizar os testes, basta passar o parâmetro 'off' para TEST_IGNORE. Como no exemplo a seguir, os testes que estiverem entre as chaves 'TEST_IGNORE on' e 'TEST_IGNORE off' serão ignorados:

source shellunity

TEST_IGNORE on # Ligar a chave para ignorar testes
TEST_PASS
TEST_FAIL
TEST_IGNORE off # Desligar a chave para ignorar testes
Clone this wiki locally