Imagem do artigo Trabalhando com rotas no ExpressJS: Testando as rotas com Jest ou Mocha

7.16. Trabalhando com rotas no ExpressJS: Testando as rotas com Jest ou Mocha

Página 62 | Ouça em áudio

Capítulo 7.16: Trabalhando com rotas no ExpressJS: Testando as rotas com Jest ou Mocha

Uma das principais características do ExpressJS é a sua capacidade de gerenciar rotas de forma eficiente e eficaz. Rotas são essenciais para qualquer aplicação web, pois determinam como uma aplicação responde a um pedido do cliente em um determinado endpoint, que é uma URI (ou caminho) e um método de solicitação HTTP específico (GET, POST, etc.).

Para criar uma rota no ExpressJS, usamos o método app.METHOD(), onde METHOD é o método de solicitação HTTP que você deseja utilizar. Por exemplo, se quisermos criar uma rota para responder a solicitações GET no caminho raiz (/), poderíamos fazer assim:

app.get('/', function (req, res) {
  res.send('Olá Mundo!')
})

Embora a criação de rotas seja relativamente simples, é importante garantir que elas estejam funcionando corretamente. E é aí que entram os testes. Existem várias ferramentas de teste disponíveis para Node.js, mas neste curso, vamos nos concentrar em duas das mais populares: Jest e Mocha.

Jest é uma estrutura de teste completa que requer pouco ou nenhum esforço de configuração, o que a torna uma excelente opção para iniciantes. Ele também tem uma sintaxe de teste muito clara e fácil de entender, o que facilita a escrita de testes. Vamos ver como podemos usar o Jest para testar as nossas rotas.

const request = require('supertest');
const app = require('../app');

describe('Test the root path', () => {
    test('It should response the GET method', () => {
        return request(app).get("/").then(response => {
            expect(response.statusCode).toBe(200);
        })
    });
});

Neste exemplo, primeiro importamos o módulo supertest, que nos permite fazer solicitações HTTP para o nosso aplicativo. Em seguida, importamos o nosso aplicativo Express. Depois, usamos a função describe do Jest para agrupar os nossos testes e a função test para definir um teste. O teste em si é bastante simples: fazemos uma solicitação GET para a rota raiz e verificamos se o código de status da resposta é 200, que é o código de status HTTP para "OK".

Agora, vamos ver como podemos fazer algo semelhante com o Mocha. Ao contrário do Jest, o Mocha é apenas uma estrutura de teste e requer módulos adicionais para fazer afirmações ou solicitações HTTP. Neste exemplo, vamos usar o Chai como nossa biblioteca de afirmações e o supertest para as solicitações HTTP.

const request = require('supertest');
const app = require('../app');
const expect = require('chai').expect;

describe('GET /', function () {
  it('should respond with 200', function (done) {
    request(app)
      .get('/')
      .end(function(err, res) {
        expect(res.statusCode).to.equal(200);
        done();
      });
  });
});

Como você pode ver, a sintaxe do Mocha é um pouco diferente da do Jest, mas a ideia geral é a mesma. Nós fazemos uma solicitação GET para a rota raiz e verificamos se o código de status da resposta é 200.

Em resumo, o ExpressJS torna a criação de rotas uma tarefa simples, mas é importante garantir que essas rotas estejam funcionando corretamente. Para isso, podemos usar ferramentas de teste como o Jest ou o Mocha, que nos permitem escrever testes claros e concisos para as nossas rotas.

Testar suas rotas é uma prática recomendada, pois permite que você descubra e corrija problemas antes que eles afetem seus usuários. Além disso, os testes também podem servir como documentação, mostrando a outros desenvolvedores (ou a você mesmo, no futuro) como sua aplicação deve se comportar.

Portanto, invista algum tempo aprendendo e utilizando essas ferramentas de teste. Seu código será mais robusto, sua aplicação será mais confiável e você poderá dormir melhor à noite sabendo que sua aplicação está bem testada.

Agora responda o exercício sobre o conteúdo:

Qual é a principal funcionalidade do ExpressJS mencionada no texto e quais são as ferramentas de teste sugeridas para garantir o funcionamento correto das rotas?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Introdução a API's

Próxima página do Ebook Gratuito:

63Introdução a API's

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto