Errores comunes
No se puede encontrar el módulo './ruta-relativa'
Si recibes un error indicando que el módulo no se puede encontrar, esto podría deberse a varias razones:
- La ruta está mal escrita. Asegúrate de que la ruta sea correcta.
- Es posible que dependas de
baseUrlen tutsconfig.json. Vite no consideratsconfig.jsonpor defecto, por lo que podrías necesitar instalarvite-tsconfig-pathssi requieres este comportamiento.
- Es posible que dependas de
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';
export default defineConfig({
plugins: [tsconfigPaths()],
});O modifica la ruta para que no sea relativa al directorio raíz:
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'- Asegúrate de no tener alias relativos. Vite los trata como relativos al archivo de importación en lugar de la raíz del proyecto.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
alias: {
'@/': './src/',
'@/': new URL('./src/', import.meta.url).pathname,
},
},
});Fallo al finalizar el worker
Este error aparece al utilizar fetch de NodeJS con la opción predeterminada pool: 'threads'. Este problema está siendo investigado en el issue Timeout abort can leave process(es) running in the background #3077.
Como alternativa, puedes cambiar a pool: 'forks' o pool: 'vmForks'.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
pool: 'forks',
},
});vitest --pool=forksFallos de segmentación y errores de código nativo
La ejecución de módulos nativos de NodeJS en pool: 'threads' puede provocar errores crípticos originados en el código nativo.
Segmentation fault (core dumped)thread '<unnamed>' panicked at 'assertion failedAbort trap: 6internal error: entered unreachable code
En estos casos, es probable que el módulo nativo no sea seguro para entornos multihilo. Como alternativa, puedes cambiar a pool: 'forks', que ejecuta los casos de prueba en múltiples node:child_process en lugar de node:worker_threads.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
pool: 'forks',
},
});vitest --pool=forks