Skip to content
Vitest 2
Main Navigation GuiaAPIConfiguraçãoModo NavegadorAvançado
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

Por que Vitest

Primeiros Passos

Recursos

Workspace

Interface de Linha de Comando

Filtrando Testes

Reporters

Cobertura

Snapshot

Mocking

Testando Tipos

Vitest UI

Testes no Código Fonte

Contexto de Teste

Ambiente de Teste

Expandindo Matchers

Integrações de IDE

Depuração

Comparações com Outros Executores de Teste

Guia de Migração

Erros Comuns

Profiling Test Performance

Otimizando o Desempenho

Nesta página

Erros Comuns ​

Não foi possível encontrar o módulo './relative-path' ​

Se você receber um erro indicando que o módulo não foi encontrado, isso pode ter algumas causas diferentes:

    1. Você digitou o caminho incorretamente. Certifique-se de que o caminho está exato.
    1. É possível que você esteja utilizando baseUrl no seu tsconfig.json. Por padrão, o Vite não considera o tsconfig.json. Se você depende desse comportamento, pode ser necessário instalar o vite-tsconfig-paths.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

export default defineConfig({
  plugins: [tsconfigPaths()],
});

Ou, reescreva seu caminho para que não seja relativo à raiz do projeto:

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. Certifique-se de não ter aliases relativos. O Vite os trata como relativos ao arquivo onde a importação é feita, em vez de relativos à raiz do projeto.
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    alias: {
      '@/': './src/', 
      '@/': new URL('./src/', import.meta.url).pathname, 
    },
  },
});

Não é possível simular "./mocked-file.js" porque já foi carregado ​

Este erro ocorre quando o método vi.mock é chamado para um módulo que já foi carregado. O Vitest lança este erro porque a chamada não terá efeito, uma vez que módulos em cache são preferidos.

Lembre-se de que vi.mock é sempre içado (hoisted) – isso significa que o módulo foi carregado antes mesmo do arquivo de teste começar a ser executado, provavelmente em um arquivo de configuração (setup file). Para corrigir o erro, remova a importação ou limpe o cache no final de um arquivo de configuração. Esteja ciente de que, nesse caso, o arquivo de configuração e o seu arquivo de teste farão referência a módulos diferentes.

ts
// setupFile.js
import { vi } from 'vitest';
import { sideEffect } from './mocked-file.js';

sideEffect();

vi.resetModules();

Falha ao encerrar o worker ​

Este erro pode ocorrer quando o fetch do NodeJS é usado com o pool: 'threads' padrão. Este problema está sendo acompanhado na issue Timeout abort can leave process(es) running in the background #3077.

Como alternativa, você pode mudar para pool: 'forks' ou pool: 'vmForks'.

ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    pool: 'forks',
  },
});
bash
vitest --pool=forks

Violações de segmentação e erros de código nativo ​

A execução de módulos nativos do NodeJS com pool: 'threads' pode resultar em erros obscuros de código nativo.

  • Segmentation fault (core dumped)
  • thread '<unnamed>' panicked at 'assertion failed
  • Abort trap: 6
  • internal error: entered unreachable code

Nesses casos, o módulo nativo provavelmente não foi construído para ser thread-safe. Como alternativa, você pode mudar para pool: 'forks', que executa os casos de teste em múltiplos node:child_process em vez de múltiplos node:worker_threads.

ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    pool: 'forks',
  },
});
bash
vitest --pool=forks
Pager
AnteriorGuia de Migração
PróximoProfiling Test Performance

Distribuído sob a Licença MIT.

Copyright (c) 2024 Mithril Contributors

https://v2.vitest.dev/guide/common-errors

Distribuído sob a Licença MIT.

Copyright (c) 2024 Mithril Contributors