Skip to content
Latchkey

Vitest vs Jest em CI: velocidade, ESM e migração

O tempo de execução dos testes costuma ser a etapa mais longa do CI - Vitest e Jest diferem bastante em velocidade e ESM.

Ambos rodam testes JS/TS; o Vitest é nativo do Vite e ESM-first, o Jest é o padrão consolidado com um ecossistema enorme.

JestVitest
Suporte a ESMDesajeitado (transforms)Nativo
VelocidadeBoaMuitas vezes mais rápido (transform do Vite)
ConfiguraçãoMadura, muitos presetsMínima, alinhada ao Vite
EcossistemaO maiorCrescendo, API compatível com Jest

Em CI

O Vitest tende a ser mais rápido e evita as dores de cabeça de transform de ESM que causam as falhas "Cannot use import statement" do Jest. O Jest continua sendo a escolha segura para suítes grandes e maduras.

Ambos podem estourar a memória

Suítes grandes estouram a memória dos workers de CI em qualquer runner - limite os workers e dimensione a memória de qualquer forma.

O veredito

Projeto novo ou com muito ESM: Vitest. Suíte Jest grande já existente: fique no Jest a menos que a dor com ESM force a mudança.

Guias relacionados