Errori Comuni
Impossibile trovare il modulo './relative-path'
Se ricevi un errore che indica che il modulo non è stato trovato, ciò potrebbe dipendere da diverse ragioni:
- Hai digitato male il percorso. Assicurati che il percorso sia corretto.
- Potresti fare affidamento su
baseUrlnel tuotsconfig.json. Vite non consideratsconfig.jsonper impostazione predefinita, quindi potresti dover installarevite-tsconfig-pathsmanualmente, se dipendi da questa configurazione.
- Potresti fare affidamento su
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';
export default defineConfig({
plugins: [tsconfigPaths()],
});In alternativa, modifica il percorso in modo che non sia relativo alla root:
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'- Assicurati di non utilizzare alias relativi. Vite li interpreta come relativi al file di importazione anziché alla root del progetto.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
alias: {
'@/': './src/',
'@/': new URL('./src/', import.meta.url).pathname,
},
},
});Impossibile terminare il worker
Questo errore può verificarsi quando si utilizza fetch di NodeJS con il pool predefinito: 'threads'. Questo problema è documentato nell'issue Timeout abort can leave process(es) running in the background #3077.
Come soluzione temporanea, puoi passare a pool: 'forks' o pool: 'vmForks'.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
pool: 'forks',
},
});vitest --pool=forksSegfault e errori del codice nativo
L'utilizzo di moduli nativi NodeJS con pool: 'threads' può causare errori criptici derivanti dal codice nativo.
Segmentation fault (core dumped)thread '<unnamed>' panicked at 'assertion failedAbort trap: 6internal error: entered unreachable code
In questi casi, il modulo nativo probabilmente non è stato progettato per essere thread-safe. Come soluzione temporanea, puoi passare a pool: 'forks', che esegue i casi di test in più processi node:child_process invece di più thread node:worker_threads.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
pool: 'forks',
},
});vitest --pool=forks