Curso completo
Testes de Unidade com Jest
Escreva os testes mais próximos do código: Aprenda Jest, do seu primeiro expect até código assíncrono, mocks, timers falsos, snapshots e cobertura, com um design de testes que encontra bugs reais e um pipeline de CI que falha por causa deles.
~4 horas de conteúdo
Conteúdo do curso
13 aulas completas cobrindo tudo o que você precisa saber
Introdução
Introdução
Estrutura do curso
Saiba como o curso está organizado e aproveite o conteúdo ao máximo.
Introdução
Pré-requisitos
Sistemas e conhecimentos necessários para concluir o curso.
Introdução
Conhecendo o código sob teste
Conheça o Bookshelf, as regras de empréstimo de uma pequena biblioteca, e o README que as especifica.
Aula
Aula 1Fork, clone e instalação do Jest
Faça o fork e o clone do repositório, instale o Jest e leia a sua primeira execução de testes (vazia).
Os seus primeiros testes
Aula
Aula 2O seu primeiro teste de unidade
Escreva um teste com describe, test e expect, execute-o e aprenda a ler uma falha.
Aula
Aula 3Matchers que importam
Escolha o matcher que descreve a regra, e impeça que matchers de veracidade escondam bugs.
Aula
Aula 4Testando erros
Verifique que o código lança o erro certo, com a mensagem certa, pelo motivo certo.
Aula
Aula 5Desenhando casos de teste
Transforme classes de equivalência e valores limite em uma tabela test.each, e deixe-a encontrar um bug.
Organizando testes e estado
Aula
Aula 6Preparação, limpeza e isolamento
Use hooks para dar a cada teste um começo do zero, e pegue testes que só passam em uma ordem.
Código assíncrono e dublês de teste
Aula
Aula 7Código assíncrono
Teste promises com async e await, e pegue o await esquecido que faz um teste mentir.
Aula
Aula 8Dublês de teste e jest.fn()
Diferencie stubs, spies, mocks e fakes, e substitua uma dependência com jest.fn().
Aula
Aula 9Mockando módulos
Mocke um módulo de que o código faz o require diretamente, e veja quanto custa mockar demais.
Aula
Aula 10Controlando o tempo e a aleatoriedade
Congele o relógio, avance os timers e fixe o Math.random() para testar as suas duas pontas.
Snapshots, cobertura e CI
Aula
Aula 11Testes de snapshot
Use snapshots para saídas estáveis, e evite que eles virem um carimbo.
Aula
Aula 12Cobertura de código
Meça a cobertura, defina um limite mínimo e encontre a regra que a sua suíte executa, mas nunca verifica.
Aula
Aula 13Executando os seus testes no GitHub Actions
Execute a suíte a cada push, e prove que o build fica vermelho com um teste falhando ou uma queda de cobertura.
Bônus e conclusão
Bônus
Bônus: Jest, Vitest ou node:test?
Os mesmos testes em três runners: o que se transfere sem mudança, o que muda e como escolher.
Bônus
Bônus: Testes de unidade com IA
Rascunhe testes de unidade com um assistente de IA, e julgue-os contra as regras antes de confiar neles.
Conclusão
Parabéns!
Você concluiu o curso Testes de Unidade com Jest!