Skip to content
Vitest 3
Main Navigation Guia & APIConfiguraçãoModo NavegadorAPI Avançada
3.2.0
2.1.9
1.6.1
0.34.6

Português – Brasil

English
简体中文
繁體中文
Español
Français
Русский
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Português – Brasil

English
简体中文
繁體中文
Español
Français
Русский
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Aparência

Sidebar Navigation

Introdução

Por que Vitest

Primeiros Passos

Recursos

Configurando o Vitest

API

Referência da API de Teste

Funções Mock

Vi

expect

expectTypeOf

assert

assertType

Guia

Interface de Linha de Comando

Filtragem de Testes

Projetos de Teste

Reporters

Cobertura

Snapshot

Mocking

Paralelismo

Testando Tipos

Vitest UI

Testes no Código-Fonte

Contexto de Testes

Anotações em Testes

Ambiente de Teste

Estendendo Matchers

Integrações com IDEs

Depuração

Erros Comuns

Guia de Migração

Migrando para o Vitest 3.0

Migrando do Jest

Desempenho

Análise de Desempenho de Testes

Melhorando o Desempenho

Modo Navegador

APIs Avançadas

Comparações com Outros Test Runners

Nesta página

Por que Vitest ​

NOTA

Este guia pressupõe que você já esteja familiarizado com o Vite. Para aprofundar seus conhecimentos, recomendamos a leitura do Guia Por que Vite e a visualização de Ferramentas de frontend de próxima geração com ViteJS, uma apresentação onde Evan You demonstra e explica os principais conceitos.

A Necessidade de um Test Runner Nativo do Vite ​

O suporte nativo do Vite a padrões web comuns, recursos como importações glob e primitivas de SSR, juntamente com sua vasta gama de plugins e integrações, está impulsionando um ecossistema vibrante. Seus processos de desenvolvimento e build são cruciais para seu sucesso. Para documentação, existem diversas alternativas baseadas em SSG que utilizam o Vite. No entanto, a abordagem do Vite para Testes Unitários não tem sido tão clara. Opções existentes, como o Jest, foram desenvolvidas em um contexto diferente. Há uma grande duplicação entre Jest e Vite, o que força os usuários a configurar dois pipelines distintos.

Utilizar o servidor de desenvolvimento do Vite para transformar seus arquivos durante os testes permite a criação de um runner simples que não precisa lidar com a complexidade da transformação de arquivos-fonte, podendo focar exclusivamente em proporcionar a melhor Experiência de Desenvolvedor (DX) durante os testes. Um test runner que compartilha a mesma configuração do seu aplicativo (através de vite.config.js) e um pipeline de transformação comum durante o desenvolvimento, a construção e o momento de teste. Ele é extensível com a mesma API de plugins que permite a você e aos mantenedores de suas ferramentas oferecer uma integração de primeira classe com o Vite. Uma ferramenta construída com o Vite em mente desde o início, aproveitando suas melhorias em DX, como seu Hot Module Reload (HMR) instantâneo. Este é o Vitest, um framework de testes de próxima geração impulsionado pelo Vite.

Considerando a enorme adoção do Jest, o Vitest oferece uma API compatível que permite utilizá-lo como uma substituição direta na maioria dos projetos. Ele também inclui os recursos mais comuns necessários ao configurar seus testes unitários (mocking, snapshots, cobertura de código). O Vitest prioriza o desempenho e utiliza worker threads para executar o máximo possível em paralelo. Em alguns ports, a execução de testes foi uma ordem de magnitude mais rápida. O modo watch é ativado por padrão, alinhando-se à forma como o Vite prioriza uma experiência de desenvolvimento fluida. Mesmo com todas essas melhorias em DX, o Vitest permanece leve, selecionando cuidadosamente suas dependências (ou incorporando diretamente as partes necessárias).

O Vitest tem como objetivo se posicionar como o Test Runner preferencial para projetos Vite, e como uma alternativa sólida mesmo para projetos que não utilizam Vite.

Continue lendo no Guia de Introdução

Como o Vitest é Diferente de X? ​

Você pode verificar a seção Comparações para mais detalhes sobre como o Vitest difere de outras ferramentas semelhantes.

Pager
PróximoPrimeiros Passos

Distribuído sob a Licença MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/why

Distribuído sob a Licença MIT.

Copyright (c) 2021-Present Vitest Team