Skip to content
Vitest 1
Main Navigation GuíaAPIConfiguraciónAvanzado
1.6.1
0.34.6

Español

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

Español

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

Apariencia

Sidebar Navigation

Guía

Por qué Vitest

Empezando

Características

Área de Trabajo

Interfaz de Línea de Comandos

Filtrado de Pruebas

Informes

Cobertura

Capturas instantáneas

Mocking

Pruebas de Tipos

Interfaz de Usuario de Vitest

Modo Navegador

Pruebas en el código fuente

Contexto de prueba

Entorno de Pruebas

Extender Matchers

Integración con IDEs

Depuración

Comparaciones con otros Ejecutores de Pruebas

Guía de Migración

Errores frecuentes

Mejora del rendimiento

API

Referencia de la API de pruebas

Funciones Mock

Vi

expect

expectTypeOf

assert

assertType

Configuración

Administración del archivo de configuración de Vitest

Configuración de Vitest

En esta página

Errores frecuentes ​

No se puede encontrar el módulo './ruta relativa' ​

Si recibes un error que indica que no se encuentra el módulo, esto puede deberse a varias razones:

    1. Has introducido la ruta incorrectamente. Verifica que la ruta sea precisa.
    1. Es posible que estés utilizando baseUrl en tu archivo tsconfig.json. Vite no considera tsconfig.json por defecto, por lo que si dependes de esta configuración, es posible que necesites instalar vite-tsconfig-paths por tu cuenta.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

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

O modifica tu ruta para que no sea relativa a la raíz del proyecto:

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. Comprueba que no tengas alias relativos. Vite los interpreta como relativos al archivo donde se realiza la importación, en lugar de la raíz del proyecto.
ts
import { defineConfig } from 'vitest/config';

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

No se puede simular "./mocked-file.js" porque ya está cargado ​

Este error ocurre cuando se llama al método vi.mock en un módulo que ya se ha cargado. Vitest lanza este error porque esta llamada no tiene efecto, ya que se prefieren los módulos en caché.

Recuerda que vi.mock siempre se eleva (hoisted); esto significa que el módulo se cargó antes de que comenzara a ejecutarse el archivo de prueba, muy probablemente en un archivo de configuración (setup file). Para solucionar el error, elimina la importación o borra la caché al final de un archivo de configuración. Ten en cuenta que el archivo de configuración y el archivo de prueba harán referencia a módulos diferentes en ese caso.

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

sideEffect();

vi.resetModules();

No se pudo terminar el worker (trabajador) ​

Este error puede ocurrir cuando se utiliza fetch de NodeJS con el pool: 'threads' predeterminado. Este problema se está rastreando en el issue Timeout abort can leave process(es) running in the background #3077.

Como solución alternativa, puedes cambiar a pool: 'forks' o pool: 'vmForks'.

Especifica pool en tu archivo de configuración:

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

export default defineConfig({
  test: {
    pool: 'forks',
  },
});

O en tus scripts package.json:

diff
scripts: {
-  "test": "vitest"
+  "test": "vitest --pool=forks"
}
Pager
AnteriorGuía de Migración
SiguienteMejora del rendimiento

Publicado bajo la licencia MIT.

Copyright (c) 2024 Mithril Contributors

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

Publicado bajo la licencia MIT.

Copyright (c) 2024 Mithril Contributors