vitest para TypeScript: guia completo com exemplos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

vitest para TypeScript: Guia Completo

vitest é um framework de teste unitário moderno, rápido e poderoso, desenvolvido especialmente para o ecossistema TypeScript e JavaScript. Ele foi criado como uma alternativa direta ao Jest, mas com foco em velocidade de execução e suporte nativo ao Vite. Se você usa Vite para construir seus projetos, o vitest é a escolha ideal, pois utiliza o mesmo plugin e configuração da sua ferramenta de build principal.

Por que usar vitest? Primeiro, ele é incrivelmente rápido graças ao uso do esbuild para transpilação e suporte nativo a ESM (ECMAScript Modules). Segundo, oferece uma API rica e compatível com Jest, facilitando a migração. Terceiro, o vitest fornece suporte integrado para TypeScript, JSX, mocking, cobertura de código e testes de snapshot, sem precisar instalar pacotes adicionais. Isso o torna ideal tanto para projetos pequenos quanto para grandes aplicações enterprise.

Neste site educacional PythonLib, vamos mostrar como usar o vitest para testar código TypeScript. Você aprenderá a instalar a biblioteca, escrever seus primeiros testes, dominar os métodos principais e evitar erros comuns. Ao final deste artigo, você será capaz de usar vitest com confiança em seus projetos.

Instalação

A instalação do vitest é feita via npm ou yarn. Para projetos TypeScript, você também precisará instalar o próprio TypeScript e os tipos para Node.js (se estiver testando código server-side).

npm install -D vitest typescript @types/node

Se você usa yarn:

yarn add -D vitest typescript @types/node

Após a instalação, adicione o script no package.json:

{
  "scripts": {
    "test": "vitest",
    "test:run": "vitest run"
  }
}

O comando vitest executa os testes em modo watch (reinicia automaticamente ao detectar alterações), enquanto vitest run faz uma execução única.

Primeiros passos

Crie um arquivo sum.ts com uma função simples:

// sum.ts
export function sum(a: number, b: number): number {
  return a + b;
}

Agora crie o arquivo de teste sum.test.ts:

// sum.test.ts
import { describe, it, expect } from 'vitest';
import { sum } from './sum';

describe('função sum', () => {
  it('deve somar dois números corretamente', () => {
    expect(sum(2, 3)).toBe(5);
  });

  it('deve lidar com números negativos', () => {
    expect(sum(-1, -2)).toBe(-3);
  });
});

Execute os testes:

npm run test

Você verá uma saída verde indicando que os testes passaram com sucesso. Parabéns, você escreveu seu primeiro teste com vitest!

Métodos e funções principais

O vitest oferece uma API rica para escrever testes. Abaixo estão 8 métodos essenciais com descrições e exemplos práticos.

1. describe

Assinatura: describe(name: string, fn: () => void): void

Descrição: Agrupa testes relacionados em um bloco. Melhora a legibilidade e permite aplicar hooks (beforeEach, afterEach) ao grupo.

import { describe, it, expect } from 'vitest';

describe('Operações matemáticas', () => {
  it('deve somar', () => {
    expect(1 + 1).toBe(2);
  });

  it('deve subtrair', () => {
    expect(5 - 3).toBe(2);
  });
});

2. it / test

Assinatura: it(name: string, fn: () => void | Promise<void>, timeout?: number): void

Descrição: Define um teste individual. Você pode usar tanto it quanto test — são sinônimos.

import { it, expect } from 'vitest';

it('deve retornar true                    

Recommendations