Jest: Teste Unitário de JavaScript

Usado e recomendado pelo Facebook ao lado de uma variedade de aplicativos React, o Jest é bem suportado. Jest também relata uma biblioteca de testes muito rápida devido ao seu teste paralelo inteligente.

Passo a Passo Simples:

instale Jest usando npm:

npm install --save-dev jest

Ou pelo yarn:

yarn add --dev jest

Comecemos por escrever um teste para uma função hipotética que acrescenta dois números. Primeiro, crie um arquivo sum.js:

function soma(a, b) {
  return a + b;
}
module.exports = soma;

Em seguida, crie um arquivo chamado sum.test.js. Isso conterá o nosso teste real:

const soma= require('./soma);

test('somar 1 + 2 é igual a 3', () => {
  expect(sum(1, 2)).toBe(3);
});

Adicione a seguinte seção ao seu pacote.json:

{
  "scripts": {
    "test": "jest"
  }
}

Finalmente, execute o teste npm e Jest imprimirá esta mensagem:

PASS  ./soma.test.js
✓ somar 1 + 2 é igual a 3 (5ms)

Considerações

  • Enquanto as globais são uma desvantagem, Jest é uma biblioteca rica em recursos que está sendo constantemente desenvolvida. Possui uma série de guias facilmente acessíveis para ajudar e suporta uma variedade de ambientes diferentes, o que é ótimo para ver ao construir qualquer projeto.
  • Para projetos menores você pode não se preocupar muito com isso inicialmente, ter um desempenho aumentado é ótimo para projetos maiores que desejam implantar continuamente o aplicativo ao longo do dia
  • Enquanto os desenvolvedores utilizam principalmente o Jest para testar aplicativos React, o Jest pode se integrar facilmente em outras aplicações, permitindo que você use suas características mais exclusivas em outros lugares
  • O teste de instantâneo é uma ótima ferramenta para garantir que a UI do seu aplicativo não mude inesperadamente entre os lançamentos. Embora mais especificamente projetado e usado no React, ele funciona com outros frameworks se você puder encontrar os plugins corretos
  • Ao contrário de outras bibliotecas na lista, o Jest vem com uma ampla API, não exigindo que você inclua bibliotecas adicionais a menos que você realmente precise
  • Jest continua a melhorar consideravelmente com cada atualização que eles fazem