Como Funcionam as Asserções em Testes Unitários?
You were first introduced to assertions and unit testing in a previous lesson. Mas, para revisar, teste unitário é quando você verifica a saída de funções ou componentes individuais de forma independente, em contraste com testar a saída final de todo o programa. Asserções são usadas para testar se o código está se comportando conforme o esperado.
Nesta lição, vamos analisar mais de perto as assertions em unit tests e explorar algumas melhores práticas.
Uma biblioteca de asserção comumente usada é a Chai. Esta é a mesma biblioteca usada dentro do código-fonte do G.E.A.R ACADEMY. Sempre que você participa de um workshop ou laboratório, há uma suíte de testes automatizados que é executada contra o seu código para garantir que ele esteja se comportando da maneira esperada.
Vamos dar uma olhada em alguns exemplos que são do Currículo de Desenvolvedor Full-Stack.
No workshop Build a Calculator, o Passo 1 é testar uma função chamada
addTwoAndSeven:
assert.isFunction(addTwoAndSeven);
Essa asserção verifica se o código fornecido contém uma função chamada addTwoAndSeven. Se o usuário criar um array, string ou qualquer outra coisa que não seja uma função e atribuí-la a addTwoAndSeven, então o teste falhará.
Vamos dar uma olhada em outra asserção de uma parte posterior do workshop:
assert.equal(addThreeAndFour(), 7);
Esta asserção verifica se o valor retornado da função addThreeAndFour é igual ao número 7. Se o valor de retorno não for igual a 7, então o teste falhará.
Existem muitos outros asserts incorporados no Chai, como os que verificam se um valor é booleano, se um objeto possui um determinado nome de propriedade ou se um valor é null. Outras bibliotecas comuns de asserção em JavaScript são should.js e expect.js.
Independentemente da biblioteca de asserção com a qual você está trabalhando, há algumas melhores práticas a serem observadas. O primeiro é escrever mensagens de assert claras. Mensagens de assert claras e significativas devem descrever a intenção por trás delas. Caso contrário, será difícil localizar quais testes estão falhando.
Outra boa prática é escrever mensagens de falha descritivas. Uma mensagem de falha descritiva deve indicar qual condição é verdadeira. Isso vai ajudar você a descobrir por que um determinado assert está falhando.
À medida que você continua aprendendo a programar, é importante se familiarizar com testes e começar a escrever testes para seus projetos pessoais. Fazer isso ajudará muito na sua preparação para seu primeiro emprego como desenvolvedor.Este módulo não possui perguntas. Marque como concluído.