Jest 13.0: Flow e REPL
Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →
Hoje temos o prazer de anunciar a próxima versão principal do Jest. Fizemos grandes alterações que beneficiarão você e toda a infraestrutura de testes JavaScript do Facebook. Mais importante, adicionamos tipos estáticos a todo o código do Jest durante um recente hackathon na sede do Facebook. Quinze pessoas trabalharam dia e noite para adicionar tipos do Flow ao Jest e implementar novos recursos. Os tipos do Flow têm dois objetivos principais: primeiro, acreditamos que código é escrito para ser lido. Na maioria das vezes, o código é escrito uma única vez mas lido por dezenas de pessoas ao longo de anos. Adicionar tipos estáticos ajuda a documentar o código e explica parte da arquitetura do Jest. Segundo, os tipos estáticos facilitam a manutenção e nos permitem refatorar partes do Jest com mais confiança, sem medo de quebras.
O projeto Flow evoluiu muito dentro do Facebook e foi adotado com sucesso em muitos de nossos frameworks e em quase todo nosso código de produtos. A adoção pode ser paralelizada incrivelmente bem – pode ser feita arquivo por arquivo até que grande parte da base de código esteja bem tipada. Então, o Flow entrega valor real e ajuda a guiar grandes mudanças. Através disso, muitos casos extremos e pequenos bugs foram encontrados.
Com a ajuda do lerna, continuamos modularizando o projeto Jest. Com apenas uma pequena atualização na configuração, Flow e lerna agora funcionam bem juntos. Dividir o Jest em pacotes nos ajudou a repensar os limites dos módulos e permitiu lançar pacotes úteis de forma independente: As ferramentas CLI jest-runtime e jest-repl agora permitem executar scripts em um ambiente Jest isolado, possibilitando rodar e depurar seu app pela linha de comando. Isso é especialmente útil para projetos que usam a convenção de módulos @providesModule do Facebook. Para começar, basta instalar o jest-repl e executá-lo na mesma pasta onde você normalmente roda seus testes! Também publicamos o pacote jest-changed-files que encontra arquivos alterados no controle de versão para git ou hg, algo comum em ferramentas de desenvolvimento.
Novos recursos e melhorias
-
Adicionado plugin de notificação que exibe alerta de execução de testes ao usar
--notify. -
Adicionada opção de configuração
browserpara resolver corretamente pacotes npm com campo browser nopackage.jsonao testar aplicações client-side. -
Melhorada mensagem "nenhum teste encontrado", que agora reporta quais testes foram encontrados e como foram filtrados.
-
Adicionado
jest.isMockFunction(jest.fn())para testar funções mock. -
Aprimorada impressão do reporter de testes e adicionado resumo de falhas ao executar muitos testes.
-
Adicionado suporte para mock de módulos virtuais via
jest.mock('Module', implementation, {virtual: true}). -
Removida pasta
.haste_cache. Jest agora usa o local temporário preferido do sistema operacional. -
Adicionada duração de testes individuais no modo verboso.
-
Adicionada capacidade de gravar snapshots no Jest. Publicaremos um post separado sobre este recurso em breve.
Por fim, recebemos um redesign completo do site feito por Matthew Johnston e adicionamos documentação para usar Jest com webpack. Boas práticas de teste com Jest!
