Jest vs Node Test Runner: Framework vs embutido
O Jest é um framework completo com mocking, snapshots e um enorme ecossistema; o node:test é o runner embutido, sem dependências, que vem com o Node.
O Jest é o framework de testes JavaScript consolidado - assertions, mocking, snapshots, cobertura e um vasto ecossistema de plugins - ao custo de ser uma dependência pesada. O test runner do Node (node:test, agora estável) é embutido no Node sem instalação, oferecendo um núcleo enxuto e rápido para testes sem pacotes externos.
| Jest | node:test | |
|---|---|---|
| Instalação | Dependência externa | Embutido no Node |
| Recursos | Mocks, snapshots, cobertura | Test + assert + cobertura no núcleo |
| Ecossistema | Enorme | Em crescimento |
| Overhead de startup | Maior | Baixo |
| Melhor para | Recursos ricos, suítes existentes | Testes enxutos, sem dependências |
No CI
O Jest continua sendo o padrão seguro para suítes grandes que se apoiam em mocking, snapshots e seu ecossistema. O node:test é atraente quando você quer zero dependências de teste, startup rápido e uma pegada enxuta - bom para bibliotecas e projetos que evitam ferramentas pesadas. O node:test é menos batteries-included, então verifique se ele cobre suas necessidades de mocking e relatórios antes de migrar.
Acelere
Faça cache do node_modules com chave no seu lockfile para que as instalações estejam aquecidas antes dos testes. Os testes rodam em CI runners; runners gerenciados mais rápidos encurtam a etapa de testes.
O veredito
Quer recursos ricos e o maior ecossistema: Jest. Quer um runner embutido enxuto, rápido e sem dependências: node:test. Valide que o node:test cobre suas necessidades de mocking e relatórios antes de migrar uma suíte grande.