Mocha para JavaScript (Node.js): guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Mocha para JavaScript (Node.js): guia completo com exemplos

1. O que é e para que serve

Mocha é um framework de teste poderoso, flexível e amplamente utilizado para JavaScript, que funciona tanto no ambiente Node.js quanto no navegador. Criado em 2011 pelo desenvolvedor TJ Holowaychuk, tornou-se um dos padrões de facto para testar aplicações JavaScript. O Mocha oferece aos desenvolvedores uma API limpa, modular e expressiva para escrever desde testes unitários simples até cenários complexos de testes integrados e assíncronos.

O principal objetivo do Mocha é tornar o processo de teste o mais simples e intuitivo possível. Ao contrário de outros frameworks, o Mocha não impõe uma estrutura rígida de testes nem inclui uma biblioteca de asserções embutida. Em vez disso, ele fornece uma estrutura (framework) para organizar os testes (describe/it/hooks) e executá-los com diferentes relatórios (reporters), deixando a escolha da biblioteca de asserções a critério do desenvolvedor. Isso torna o Mocha extremamente flexível: você pode usá-lo com o módulo nativo assert, a biblioteca popular Chai (que oferece estilos BDD/TDD), Should.js ou qualquer outra.

Para que serve o Mocha? No desenvolvimento de software moderno, testar não é um luxo, mas uma necessidade. O Mocha permite automatizar a verificação da corretude do código, detectar regressões após alterações, documentar o comportamento de funções e módulos e aumentar a confiabilidade e estabilidade geral da aplicação. Graças ao suporte para testes assíncronos (callbacks, promises, async/await) e à capacidade de trabalhar com várias bibliotecas de asserção, o Mocha é ideal para testar aplicações server-side em Node.js, APIs, bancos de dados e qualquer outro componente.

2. Instalação

O Mocha é instalado através do gerenciador de pacotes npm (Node Package Manager). Recomenda-se instalá-lo como dependência de desenvolvimento (devDependency), já que os testes não são necessários no ambiente de produção.

Comando exato para instalação:

npm install --save-dev mocha

Após a instalação, você pode executar os testes adicionando um script no arquivo package.json:

{
  "scripts": {
    "test": "mocha"
  }
}

Agora os testes podem ser executados com o comando:

npm test

Para instalação global (não recomendado, mas possível):

npm install -g mocha

3. Início rápido — exemplo mínimo funcional

Crie um arquivo test.js com o seguinte conteúdo:

const assert = require('assert');

// Função que será testada
function add(a, b) {
  return a + b;
}

// Suíte de testes (suite)
describe('Função add', function() {
  // Teste específico (spec)
  it('deve retornar a soma de dois números', function() {
    // Asserção (assertion)
    assert.strictEqual(add(2, 3), 5);
  });

  it('deve funcionar com números negativos', function() {
    assert.strictEqual(add(-1, -1), -2);
  });
});

Execute o teste:

npx mocha test.js

Você verá um relatório verde indicando que os dois testes passaram.

4. Principais métodos/funções/classes

O Mocha fornece funções globais que não precisam ser importadas (a menos que estejam desabilitadas pela opção --require). Abaixo estão 8 métodos principais com assinaturas, descrição e exemplos.

4.1 describe(name, fn)

Assinatura: describe(name: string, fn: function): void

O que faz: Cria uma suíte de testes (suite) — um grupo de testes relacionados. Usado para organizar logicamente os testes. Pode ser aninhado.

Recommendations