Por que testar JavaScript não é assustador, mas sim útil?
Quando comecei a programar em JavaScript, achava que testar era algo de outro mundo. "Para quê? Eu vejo que o código funciona!", pensava. Mas aí chegava segunda-feira, eu adicionava uma pequena função e tudo quebrava. Familiar?
Testar JavaScript é como um seguro para o seu código. Você escreve uma vez e verifica o funcionamento centenas de vezes automaticamente. E acredite, quando seu projeto crescer para 10.000 linhas de código, você agradecerá a quem te fez escrever o primeiro teste.
Neste artigo, vou mostrar por onde começar a testar JavaScript para iniciantes, com exemplos reais e modelos prontos. Você vai se surpreender, mas os primeiros testes podem ser escritos em apenas 15 minutos.
Tipos de testes: o que um iniciante precisa saber
Antes de escrever código, vamos entender a teoria. Existem três níveis principais de teste, mas para começar, precisamos apenas de um.
Testes unitários (Unit tests)
São testes para as menores partes do código — funções, métodos, classes. Eles verificam: "Essa função específica funciona como esperado?". Testes unitários JavaScript são a base por onde todos começam.
Testes de integração (Integration tests)
Verificam como diferentes partes do sistema interagem entre si. Por exemplo, se o fluxo "formulário → envio de dados → resposta do servidor" funciona.
Testes E2E (End-to-End)
Os mais complexos. Simulam ações de um usuário real: cliques, preenchimento de formulários, navegação entre páginas. Para iniciantes, esse é um nível mais avançado.
Para começar, basta dominar os testes unitários. O resto virá com a experiência.
Ferramentas: o que escolher para iniciantes?
O mercado de ferramentas para testar JavaScript é enorme. Mas destaco três combinações que realmente funcionam para iniciantes:
- Jest — o framework mais popular. Funciona "pronto para uso", sem necessidade de configuração complexa. Ideal para começar.
- Mocha + Chai — clássico. Mocha executa os testes, Chai fornece funções convenientes para verificações (assertions).
- Vitest — moderno e rápido, quase como Jest, mas para projetos com Vite.
Recomendo começar com Jest. Ele é intuitivo, tem excelente documentação e uma comunidade enorme. Se você dominar Jest, migrar para outras ferramentas será fácil.
Escrevendo o primeiro teste: guia passo a passo
Vamos escrever código real. Suponha que temos uma função simples que soma dois números:
// math.jsfunction add(a, b) { return a + b;}
module.exports = add;Agora instale o Jest. Abra o terminal na pasta do projeto e execute:
npm init -ynpm install --save-dev jestAdicione no package.json o script para executar os testes:
"scripts": { "test": "jest"}Crie o arquivo math.test.js na mesma pasta. Vamos escrever o teste:
// math.test.jsconst add = require('./math');
test('soma 2 + 3 e obtém 5', () => { expect(add(2, 3)).toBe(5);});
test('soma números negativos', () => { expect(add(-1, -1)).toBe(-2);});
test('soma zero', () => { expect(add(0, 0)).toBe(0);});Execute os testes com o comando npm test. Se tudo estiver correto, você verá marcas verdes. Parabéns, você acabou de escrever seu primeiro teste JavaScript!
Como testar funções mais complexas?
Ok, aprendemos a somar números. E se a função trabalha com arrays ou objetos? Vamos ver um exemplo mais avançado.
Função para filtrar usuários por idade:
// users.jsfunction filterAdults(users) { return users.filter(user => user.age >= 18)