NestJS, testando aplicações com Jest
vamos aprender sobre o NestJS, como foco no teste das aplicações focado na parte do Mongoose
Introdução
Express foi criando para facilitar a manipulação do NodeJS. Apesar de todas a facilidades, alguns pontos deixam a desejar. O NestJS foi criado para tentar melhorar esses pontos, como foi TypeScript para melhorar o JavaScript. Não vamos entrar nos pormenores, vamos direto ao ponto!😁😁
Documentação oficial do NestJS.
Sugestão de leitura: Learn TypeScript 3 by Building Web Applications: Gain a Solid Understanding of TypeScript, Angular, Vue, React, and NestJS Book by Alexis Georges and Sebastien Dubois
Apesar de que não vamos entrar nos pormenores, gostaria deste tutorial ser o mais completo possível, para facilitar o aprendizado!😎😎
Criando um aplicativo NestJS do zero
Adoraria fazer essa parte grande, para parecer que estou ensinando algo, contudo, somente uma linha de código e você tem uma aplicativo funcional!😂😂 Não dá para ganhar dinheiro dos trouxas assim! 🤣🤣
Vai demorar um pouco para instalar, como o Angular. São parecidos de propósito. O NestJS está no meio termo, entre Angular e Express, acho perfeito para os adeptos do MEAN stack como eu! 🥰🥰🥰
Esta é uma aplicação funcional, tente:
Vai para a porta 3000
Para quem é programador Angular, você vai se pegar confundindo: onde estou??? frontend ou backend??? parece o mesmo, mas você está no servidor!!! 😯😯😯
Contudo, vamos trabalhar com testes, rode:
Lembra no curso que precisávamos ficar criando esses comandos no package.json
, o pessoal do Nest já cria tudo!! 🙏🙏🙏 Soma o tempo que perdia com isso e vai assisti Netflix, programador também é filho de Deus😍😍
Sugestão: Scorpion,
Se quiser, pode deixar a aplicação rodando, somente abra uma nova aba. No visual studio isso é bem simples.
Todo nosso trabalho está na pasta src
. Note que os arquivos de testes estão como spec
, falamos isso no curso, é a mesma coisa! 😁 Note também que temos uma pasta test, esse para contém testes e2e, não vamos abordar isso. 😅
Alguns pontos que merecem atenção🧐🧐:
ts
significa typescript , que é a linguagem base do Nest;service.ts
é um tipo de arquivo conhecido como serviço, base do Angular. Isso facilita o processo de mocar, além de facilitar a conexão como MongoDB por o fazer em background;
Abaixo, para efeito de curiosidade, uma arquivo de teste padrão. Como se pode ver, testes já é incorporado no Nest, ou seja, o Nest já nasceu pensando em TDD! 😍😎🥰
Linha 18 testa se o método appController.getHello()
. Tenta mudar ou o esperado, toBe('Hello World!')
, ou o retornado pelo método🤔🤔🤔 . Vai falhar, ao menos eu teoria. Essa é uma excelente forma de testar o seu teste!
Obs. abaixo uma giff da Mônica usando um aspirador para aspirar outro aspirador, seria o caso de um teste para testar o teste; afinal de contas, o teste precisa funcionar, sendo assim, ser testado também!
O que vamos fazer é criar nossos próprios testes usando esses arquivos criados de forma automática.
Last updated