Mocha
Framework para execução de testes unitários.
Estrutura de teste JavaScript rica em recursos em execução no Node.js (servidor) e no navegador (cliente), tornando o teste assíncrono simples.
Os testes Mocha são executados em série, permitindo relatórios flexíveis e precisos, enquanto mapeia exceções não detectadas para os casos de teste corretos.
Segue padrões e princípios do BDD de ser descritivo, escrever testes de modo expressivo, qual funcionalidade de negócio está representando. Qual comportamento é esperado.
Por padrão, o Mocha procura na raiz do projeto pelo diretório chamado "test".
Exemplo de arquivo de teste, seguindo o padrão BDD: test/math.spec.js
npm i --save-dev mocha
// Incluir no package.json
"scripts": {
"test": "mocha"
},
O Mocha não provê uma ferramenta de assert. Então, importamos do Node.js
const assert = require('assert');
Porém, o assert por si só é limitado, porque não é tão descritivo quanto poderia ser, há uma perda de legibilidade.Para resolver isso usamos a Library Chai.