Skip to content
Latchkey

O que é o Vitest? O framework de testes nativo do Vite

Vitest é um framework rápido de testes unitários construído sobre o Vite, que reutiliza sua configuração do Vite e oferece uma API compatível com o Jest, com feedback instantâneo em watch mode.

O Vitest trouxe a velocidade do Vite para os testes. Ele compartilha a configuração do Vite e o pipeline de transformação do seu projeto, então os testes rodam com o mesmo setup do seu app, e sua API espelha o Jest de forma próxima o suficiente para que a migração seja, em geral, indolor.

O que é o Vitest

Vitest é um framework de testes unitários e de integração movido pelo Vite. Ele oferece um test runner, uma API "expect" compatível com o Jest, mocking, coverage e snapshot testing. Como usa o pipeline de transformação do Vite (esbuild), ele lida com TypeScript, JSX e ESM sem configuração extra.

Como funciona

O Vitest reutiliza seu vite.config, então os testes resolvem módulos e aplicam transformações exatamente como sua aplicação. Seu watch mode é rápido porque re-executa apenas os testes afetados por uma mudança, aproveitando o grafo de módulos do Vite. A API compatível com o Jest significa que describe, it, expect e a maioria dos matchers funcionam como os desenvolvedores esperam.

Um exemplo de teste

A sintaxe é familiar para quem já usou o Jest.

A minimal Vitest test
import { expect, test } from "vitest";

test("adds numbers", () => {
  expect(1 + 2).toBe(3);
});

Papel em CI/CD

No CI, "vitest run" executa a suíte uma vez (sem watch) e sai com código diferente de zero em falhas. Suas transformações baseadas em esbuild deixam a inicialização e a execução rápidas, o que reduz a etapa de testes. O coverage pode ser habilitado com uma flag, e os testes podem passar por shard entre jobs. Runners gerenciados mais rápidos, somados ao auto-retry em falhas transitórias, mantêm suítes grandes rápidas e estáveis.

Alternativas

O Jest é o framework estabelecido, com o maior ecossistema, e é compatível em API com o Vitest. Mocha com Chai é uma alternativa modular. O Vitest é a escolha natural para projetos baseados em Vite e quando a velocidade dos testes e uma configuração compartilhada importam.

Principais conclusões

  • Vitest é um framework de testes rápido e nativo do Vite, com uma API compatível com o Jest.
  • Ele reutiliza sua configuração do Vite, então os testes transformam exatamente como seu app.
  • Use "vitest run" no CI; ele sai com código diferente de zero em falhas e roda rápido.

Guias relacionados