Skip to content
Vitest 2
Main Navigation ÚtmutatóAPIKonfigurációBöngésző módHaladó
2.1.9
1.6.1
0.34.6

magyar

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

magyar

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

Megjelenés

Sidebar Navigation

Miért a Vitest?

Első lépések

Funkciók

Munkaterület

Parancssori felület

Tesztszűrés

Reporterek

Lefedettség

Pillanatképek

Mockolás

Típusok tesztelése

Vitest UI

Forráskódba épített tesztelés

Tesztkörnyezet

Tesztkörnyezet

Egyezésvizsgálók kiterjesztése

IDE integrációk

Hibakeresés

Összehasonlítás más tesztfuttatókkal

Migrálási útmutató

Gyakori hibák

Profiling Test Performance

A teljesítmény javítása

Ezen az oldalon

Gyakori hibák ​

Nem található a modul: './relatív-útvonal' ​

Ha olyan hibát kap, hogy a modul nem található, az több okra is visszavezethető:

    1. Elírta az útvonalat. Ellenőrizze, hogy az útvonal helyes-e.
    1. Lehet, hogy a tsconfig.json fájlban a baseUrl-t használja. A Vite alapértelmezés szerint nem veszi figyelembe a tsconfig.json fájlt, ezért ha ezt a viselkedést használja, telepítenie kell a vite-tsconfig-paths csomagot.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

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

Vagy módosítsa az útvonalat, hogy ne a gyökérből induljon ki:

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. Győződjön meg róla, hogy nincsenek relatív aliasai. A Vite ezeket ahhoz a fájlhoz viszonyítva tekinti relatívnak, ahol az importálás történik, nem pedig a gyökérhez.
ts
import { defineConfig } from 'vitest/config';

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

A "./mocked-file.js" fájl nem mockolható, mert már be van töltve ​

Ez a hiba akkor fordul elő, ha a vi.mock metódust egy már betöltött modulra hívják meg. A Vitest azért adja ezt a hibát, mert ennek a hívásnak nincs hatása, mivel a gyorsítótárazott modulok előnyben részesülnek.

Ne feledje, hogy a vi.mock mindig felemelt (hoisted) – ez azt jelenti, hogy a modul a tesztfájl végrehajtásának megkezdése előtt betöltődött – feltehetően egy beállító fájlban. A hiba kijavításához távolítsa el az importálást, vagy törölje a gyorsítótárat a beállító fájl végén – fontos megjegyezni, hogy ebben az esetben a beállító fájl és a tesztfájl különböző modulokra hivatkozik majd.

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

sideEffect();

vi.resetModules();

A worker leállítása sikertelen ​

Ez a hiba akkor fordulhat elő, ha a NodeJS fetch függvényét az alapértelmezett pool: 'threads' beállítással használja. Ezt a problémát a Timeout abort can leave process(es) running in the background #3077 hibajegyben követhető nyomon.

Áthidaló megoldásként átválthat a pool: 'forks' vagy a pool: 'vmForks' beállításra.

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

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

Szegfaultok és natív kódhibák ​

A natív NodeJS modulok futtatása a pool: 'threads' beállítással rejtélyes, natív kódból eredő hibákat okozhat.

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

Ezekben az esetekben a natív modul valószínűleg nem szálbiztos működésre készült. Áthidaló megoldásként átválthat a pool: 'forks' beállításra, amely a teszteseteket több node:child_process folyamatban futtatja, nem pedig több node:worker_threads-ben.

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

export default defineConfig({
  test: {
    pool: 'forks',
  },
});
bash
vitest --pool=forks
Pager
Előző oldalMigrálási útmutató
Következő oldalProfiling Test Performance

A MIT licenc alapján kiadva.

Copyright (c) 2024 Mithril Contributors

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

A MIT licenc alapján kiadva.

Copyright (c) 2024 Mithril Contributors