Hibakeresés
TIP
Tesztek hibakeresésekor a következő opciók hasznosak lehetnek:
--test-timeout=0
annak érdekében, hogy a tesztek ne lépjenek időtúllépésbe töréspontoknál való megálláskor--no-file-parallelism
annak érdekében, hogy a tesztfájlok ne fussanak párhuzamosan
VS Code
A tesztek gyors hibakereséséhez VS Code-ban használja a JavaScript Debug Terminalt
. Nyisson meg egy új JavaScript Debug Terminalt
, és futtassa az npm run test
vagy a vitest
parancsot közvetlenül. Ez a módszer bármilyen Node.js környezetben futó kóddal működik, így a legtöbb JS tesztelési keretrendszerrel is kompatibilis.
Dedikált indítási konfigurációt is hozzáadhat egy tesztfájl hibakereséséhez VS Code-ban:
{
// További információkért látogasson el ide: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Jelenlegi tesztfájl hibakeresése",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"console": "integratedTerminal"
}
]
}
Ezután a hibakeresési fülön győződjön meg arról, hogy a 'Jelenlegi tesztfájl hibakeresése' van kiválasztva. Nyissa meg a hibakeresni kívánt tesztfájlt, majd nyomja meg az F5 billentyűt a hibakeresés elindításához.
Böngésző mód
A Vitest Böngésző Mód hibakereséséhez adja át a --inspect
vagy --inspect-brk
kapcsolót a CLI-ben, vagy definiálja a Vitest konfigurációjában:
vitest --inspect-brk --browser --no-file-parallelism
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
inspectBrk: true,
fileParallelism: false,
browser: {
provider: 'playwright',
instances: [{ browser: 'chromium' }],
},
},
});
Alapértelmezés szerint a Vitest a 9229
-es portot használja hibakeresési portként. Ezt a --inspect-brk
érték megadásával módosíthatja:
vitest --inspect-brk=127.0.0.1:3000 --browser --no-file-parallelism
Használja a következő VSCode Összetett indítási konfigurációt a Vitest indításához és a hibakereső böngészőhöz való csatlakoztatásához:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Vitest böngésző futtatása",
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"console": "integratedTerminal",
"args": ["--inspect-brk", "--browser", "--no-file-parallelism"]
},
{
"type": "chrome",
"request": "attach",
"name": "Csatlakozás a Vitest böngészőhöz",
"port": 9229
}
],
"compounds": [
{
"name": "Vitest böngésző hibakeresése",
"configurations": ["Csatlakozás a Vitest böngészőhöz", "Vitest böngésző futtatása"],
"stopAll": true
}
]
}
IntelliJ IDEA
Hozzon létre egy Vitest futtatási konfigurációt. Használja a következő beállításokat az összes teszt hibakeresési módban történő futtatásához:
Beállítás | Érték |
---|---|
Munkakönyvtár | /path/to/your-project-root |
Ezután indítsa el ezt a konfigurációt hibakeresési módban. Az IDE megáll a szerkesztőben beállított JS/TS töréspontoknál.
Node Inspector, pl. Chrome DevTools
A Vitest támogatja a tesztek hibakeresését IDE-k használata nélkül is. Ez azonban azt jelenti, hogy a tesztek nem futhatnak párhuzamosan. A Vitest elindításához használja az alábbi parancsok egyikét:
# Egyetlen workerben való futtatáshoz
vitest --inspect-brk --pool threads --poolOptions.threads.singleThread
# Egyetlen gyermekfolyamatban való futtatáshoz
vitest --inspect-brk --pool forks --poolOptions.forks.singleFork
# Böngésző módban való futtatáshoz
vitest --inspect-brk --browser --no-file-parallelism
Ha Vitest 1.1 vagy újabb verziót használ, akkor egyszerűen megadhatja a --no-file-parallelism
flaget is:
# Ha a pool típusa ismeretlen
vitest --inspect-brk --no-file-parallelism
Amint a Vitest elindul, leállítja a végrehajtást, és megvárja, amíg megnyitja a fejlesztői eszközöket, amelyek képesek csatlakozni a Node.js inspectorhoz. Ehhez használhatja a Chrome DevTools-t, ha megnyitja a chrome://inspect
címet a böngészőben.
Watch módban a hibakeresőt nyitva tarthatja a teszt újrafuttatások alatt a --poolOptions.threads.isolate false
opció használatával.