Testando API REST com Mocha e Chai

Rafael ‘Vicio’ Augusto
2 min readSep 30, 2017
Chai e Mocha Logo

Mocha é um Framework JavaScript que roda no NodeJS e também no próprio browser que permite realizar suites de teste de forma rapida e facil em sua aplicações JavaScript.

Chai e uma lib baseada em BDD/TDD para NodeJS e também para browser que pode ser combinada com qualquer Framework deve testes JavaScript. Chai fornece ao desenvolvedor diversas estilos para aplicar BDD e TDD as suas suítes de teste.

A combinação de Mocha e Chai hoje e a mais conhecida para a realização de testes em API Rest desenvolvidas em NodeJS.

O Projeto

Vou disponibilizar no seguinte repositório uma simples API-Testavel que eu utilizei para aplicar o que eu aprendi sobre testes em APIs NodeJS.

Uma simples API REST que realiza o CRUD de artigos, feita utilizando Express e o Mongoose.

Nessa API nos temos os seguintes end-points:

  • GET /artigos: Retorna todos os artigos que estão cadastrados.
  • POST /artigos: Envia um artigo e faz o cadastro do mesmo.
  • PUT/artigos/:id: Realiza a alteração de um artigo que já esta cadastrado.
  • GET /artigos/:id: Retorna um artigo especifico já cadastrado.
  • DELETE /artigos/12: Deleta um artigo especifico já cadastrado.

Como podem ver, e uma API bem simples que eu utilizei apenas com objetivo de aprender um pouco mais sobre teste com NodeJS.

Testando na mão

Caso você queira realizar alguns testes na mão para conhecer a API que temos, você pode baixar o Postman para realizar algumas requisições.

Testes automatizados

Para separar nossos testes, crie uma pasta chamada ‘test’ na pasta raiz do projeto. Crie dentro dela um arquivo chamado test.js.

Vamos carregar o Chai e suas configurações pare realizar requisições http e vamos criar nossa suite de testes para artigos.

Agora vamos criar nosso primeiro teste para o endpoint de listagem de artigos:

Vamos realizar um teste para inserção de um novo artigo:

Vamos realizar um teste mais especifico agora, vamos buscar um artigo especifico e verificar suas informações.

Existem outras propriedades que podemos verificar através do chai, você pode consultar a API do Framework para verificar.

Verificando testes

Vamos criar um script de teste la no arquivo package.json da seguinte forma:

Agora no terminal vamos executar ‘npm test’ e veja os resultados:

Essa foi uma introdução bem básica para a realização de testes através do Mocha e Chai.

--

--