Compartilhe este conteúdo:

jasmine Guia prático - teste unitário com Jasmine js no JavaScript

 

O Jasmine é uma estrutura de teste de código aberto feito para testar códigos Javascript, o framework ficou conhecido pela simplicidade e facilidade na implementação de testes de unidade.

Neste tópico, faremos um guia prático de como utilizar o Jasmine em um projeto JavaScript puro, sem bibliotecas ou frameworks adicionais, exceto pelo nodejs (runtime) e o próprio Jasmine, que é um framework. Bom, vamos lá!

image Guia prático - teste unitário com Jasmine js no JavaScript

Antes de começar, vamos entender o que é um teste de unidade e a sua serventia.

Testes unitários, também conhecidos como Unit Tests, são essenciais para validar a precisão e o comportamento de pequenas partes do código. Cada teste trata uma unidade isolada do projeto principal. Ao testar cada pedaço individualmente, garantimos a integridade do todo.

É fundamental que desenvolvedores incorporem testes de unidade em seus projetos. Esses testes não apenas confirmam se o código está funcionando, mas também evitam situações onde o código “parece estar funcionando”, mas, na verdade, apresenta falhas não detectadas. A falta de testes adequados pode resultar em problemas significativos no software, prejudicando sua qualidade e confiabilidade, virando uma verdadeira VARZEA no software.

Para desenvolver código com qualidade superior, devemos realizar testes rigorosos em todas as etapas do desenvolvimento. Essa prática não apenas identifica erros precocemente, como também promove a manutenção de um código mais robusto e fácil de escalar.

image-1 Guia prático - teste unitário com Jasmine js no JavaScript

Hora da instalação!

Requisitos:

  • Node js (instalado na maquina)
  • Um projeto javascript
  • Jasmine


Há três formas de instalar o Jasmine

  • Jasmine para o node JS, essa versão vemos o teste através de um prompt de comando.
  • Jasmine para os navegadores (também com o node), essa instalação renderiza uma interface gráfica de testes diretamente no navegador.
  • Jasmine CDN (Javascript vanilla)

Neste artigo focaremos em instalar a primeira forma,

Em uma nova pasta ou no seu projeto, abra o cmd e inicie um projeto node, caso já tenha instalado pule esse código abaixo:

npm init

Agora vamos instalar o Jasmine, utilize o seguinte código:

npm install --save-dev jasmine

Inicialize o Jasmine no seu projeto:

npx jasmine init

Quando utilizamos o código a cima, o Jasmine cria uma pasta chamada spec, a pasta em questão gerencia os arquivos de testes

image-3 Guia prático - teste unitário com Jasmine js no JavaScript

No package.json precisamos fazer uma configuração para rodar o jasmine com o comando npm test.


Antes:

image-5 Guia prático - teste unitário com Jasmine js no JavaScript

Depois:

image-6 Guia prático - teste unitário com Jasmine js no JavaScript

Agora vamos ver o Jasmine em ação, utilize o código:

npm test

image-7 Guia prático - teste unitário com Jasmine js no JavaScript

Finalmente iniciamos o Jasmine, note que ele informou no cmd “No specs found” isso significa que ele não encontrou nenhum arquivo spec, faz sentido pois não criamos nenhum arquivo de teste, ainda…

image-8 Guia prático - teste unitário com Jasmine js no JavaScript

Vamos criar um arquivo JS dentro da pasta spec, criei um chamado teste.spec.ts, porém pode ser qualquer nome, desde que tenha QUALQUERNOME.spec.js

image-9 Guia prático - teste unitário com Jasmine js no JavaScript

Implementando um teste

Para implementar um teste geralmente começamos utilizando o método it, sem esse método o Jasmine entende que não existe teste. Vamos escrever um código bem simples para testar:

let a;

it("Testando se a é verdadeiro", function () {

  a = true;

  expect(a).toBe(true);

});

image-11-1024x506 Guia prático - teste unitário com Jasmine js no JavaScript

Agora vamos rodar o Jasmine novamente:
npm test

image-12 Guia prático - teste unitário com Jasmine js no JavaScript

1 spec e 0 falhas…

Parabéns!! 🥳🥳🥳, isso significa que o código passou no teste, mas é claro, isso foi só um exemplo forçando o código a passar, o foco desse artigo foi apenas ensinar como instalar o Jasmine no javascript, posteriormente faremos artigos focados em testes de unidades.

image-13 Guia prático - teste unitário com Jasmine js no JavaScript