Primeiros passos
Vamos aprender o básico do Jest.
Last updated
Vamos aprender o básico do Jest.
Last updated
"Minha família inteira é da área médica. Um jantar de fim de semana em casa parece mais um daqueles episódios de seriados médicos da televisão: pessoas discutindo casos e como resolvê-los. Apesar de entender praticamente nada sobre medicina, uma coisa me chama muito a atenção: o fanatismo deles por qualidade. Um médico, ao longo de uma cirurgia, nunca abre mão de qualidade. Se o paciente falar para ele: “Doutor, o senhor poderia não lavar a mão e terminar a cirurgia 15 minutos mais cedo?”, tenho certeza que o médico negaria na hora. Ele saberia que chegaria ao resultado final mais rápido, mas a chance de um problema é tão grande, que simplesmente não valeria a pena." Mauricio Aniche (Author) sobre TDD.
Olá a todos, enquanto gravava o curso, percebi que precisava revisar, ou mesmo estudar, algumas funcionalidades do Jest. Aproveitei para criar essa seção adicional! 😘 De forma alguma pretendo se exaustivo! Espero que isso ajude pessoas que além do Mongoose, também estejam entrando no mundo do TDD, testes de unidades com Jest.
Este tutorial é fortemente baseado em "Jest Crash Course - Unit Testing in JavaScript"
Documentação oficial do Jest.
Uma alternativa para o Jest é o Mocha.
Sugestão de leitura: Fernando Doglio. REST API Development with Node.js: Manage and Understand the Full Capabilities of Successful REST Development.
Vamos começar criando nosso aquivo package.json
.
Esse comando vai criar um package.json
com as configurações padrões.
Um problema que demorei a entender o porquê no início foi a necessidade de package.json
, sem ele, dá erros, e os erros não são informativos o suficiente para entender, nem mesmo para jogar no Google.
Você vai precisar, caso ainda não tenha instalado, o Jest, instalado como Dev
Para testar:
Testando o que NÃO é:
Estou apresentado, para efeito de estudo, alguns casos. Não vamos usar todos os esses, ou mesmo podemos usar casos diferentes. 😎 Não deixe de consultar a documentação oficial caso esteja adaptando esses exemplos para o seu caso.
Estamos usando toEqual
no lugar de toBe
. Algumas pista por que???
Códigos prontos aqui.