Buscar

Qual a melhor ferramenta para fazer testes unitários em node?

💡 5 Respostas

User badge image

Gustavo Costa

Assert

Um dos módulos do node é o assert. Não é uma ferramenta completa para testes unitários mas é possível utilizá-lo sem nenhum adicional para realizar seus testes.

Métodos

  • fail: Compara dois valores (estilo atual e esperado).
  • ok: Confere se a expressão passada é verdadeira.
  • throwsdoesNotThrow: A função passada deve/não deve lançar uma exceção.
  • ifError: Testa se o valor passado é verdadeiro; útil para testar variável de erros.

Além de vários métodos equalequalnotEqualdeepEqualnotDeepEqualstrictEqualnotStrictEqual.


Nodeunit

Baseado no assert explicado acima, nodeunit é uma das opções mais simples de escrever seus testes unitários. Suporta testes assíncronos.

Métodos

Os métodos para teste são os mesmos do assert descritos acima. Além deles, para cada função de teste o nodeunit lhe envia um objeto com as seguintes funções:

  • expect(quantidade): Número de asserções que será feita neste teste. Se um número de asserções diferentes do passado for feita o teste falha. A chamada desta função é opcional.
  • done: Termina o teste atual. Esta função deve ser chamada.

Escrevendo o módulo de teste

Para escrever um módulo de teste é muito simples, basta expor suas funções de teste e receber nelas um paramêtro com o objeto test do nodeunit, exemplo:

exports.testaAlgo = function (test) {
    test.expect(2);
    test.ok(true, "este teste irá passar");
    test.ok(false, "este teste irá falhar e essa mensagem será exibida");
    test.done();
};

Executando os testes

Basta instalar o nodeunit via npm:

npm install -g nodeunit

E depois executar o teste:

nodeunit meuTeste.js

A saída é algo do tipo:

$ nodeunit meuTeste.js
✖ testaAlgo

Assertion Message: este teste irá falhar e essa mensagem será exibida

Configurando os testes unitários no projeto

Uma das formas de configurar seus testes no seu projeto é utilizar o package.json, exemplo:

"scripts": {
  "test": "nodeunit testes/*.js"
}

Desta maneira basta executar npm test para executar seus testes.

Para não ter que instalar o nodeunit de maneira global em sua máquina (paramêtro -g do npm install), pode-se utilizar o nodeunit local da pasta *node_modules*:

"scripts": {
  "test": "./node_modules/.bin/nodeunit testes/*.js"
}
3
Dislike0
User badge image

Carlos silva

Da uma olhada em Jest
1
Dislike0
User badge image

danilo taira rodrigues

Jest é ótimo pacote pra testes
1
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis


✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais