Skip to content
Vitest 3
Main Navigation 指南 & API配置瀏覽器模式進階 API
3.2.0
2.1.9
1.6.1
0.34.6

繁體中文

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
magyar

外觀

Sidebar Navigation

簡介

為何選擇 Vitest

快速入門

功能特色

配置參考

API

測試 API 參考

模擬函式

Vi

expect

expectTypeOf

assert

assertType

指南

命令列介面

測試篩選

測試專案

報告器

程式碼覆蓋率

快照

模擬(Mocking)

平行化

型別測試

Vitest UI

內聯測試

測試上下文

測試註解

測試環境

擴展匹配器

IDE 整合

偵錯

常見錯誤

遷移指南

遷移到 Vitest 3.0

從 Jest 遷移

效能

測試效能分析

提升效能

瀏覽器模式

進階 API

與其他測試執行器的比較

本頁導覽

偵錯 ​

TIP

在偵錯測試時,您可能需要使用以下選項:

  • --test-timeout=0 以防止測試在斷點處停止時發生逾時
  • --no-file-parallelism 以防止測試檔案並行執行

VS Code ​

在 VS Code 中偵錯測試的快速方法是使用 JavaScript 偵錯終端機。開啟一個新的 JavaScript 偵錯終端機 並直接執行 npm run test 或 vitest。此方法適用於在 Node.js 中執行的任何程式碼,因此對大多數 JavaScript 測試框架皆適用。

image

您也可以新增專用的啟動設定,以便在 VS Code 中偵錯測試檔案:

json
{
  // 如需更多資訊,請造訪:https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "偵錯目前測試檔案",
      "autoAttachChildProcesses": true,
      "skipFiles": ["<node_internals>/**", "**/node_modules/**"],
      "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
      "args": ["run", "${relativeFile}"],
      "smartStep": true,
      "console": "integratedTerminal"
    }
  ]
}

然後在偵錯分頁中,請確保已選取「偵錯目前測試檔案」。接著您可以開啟要偵錯的測試檔案,然後按下 F5 鍵開始偵錯。

瀏覽器模式 ​

若要偵錯 Vitest 瀏覽器模式,請在 CLI 中傳遞 --inspect 或 --inspect-brk 參數,或在您的 Vitest 設定中定義:

bash
vitest --inspect-brk --browser --no-file-parallelism
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    inspectBrk: true,
    fileParallelism: false,
    browser: {
      provider: 'playwright',
      instances: [{ browser: 'chromium' }],
    },
  },
});

預設情況下,Vitest 將使用連接埠 9229 作為偵錯連接埠。您可以透過在 --inspect-brk 中傳遞值來覆寫它:

bash
vitest --inspect-brk=127.0.0.1:3000 --browser --no-file-parallelism

使用以下 VS Code 複合啟動設定 來啟動 Vitest 並在瀏覽器中附加偵錯器:

json
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "執行 Vitest 瀏覽器",
      "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
      "console": "integratedTerminal",
      "args": ["--inspect-brk", "--browser", "--no-file-parallelism"]
    },
    {
      "type": "chrome",
      "request": "attach",
      "name": "附加至 Vitest 瀏覽器",
      "port": 9229
    }
  ],
  "compounds": [
    {
      "name": "偵錯 Vitest 瀏覽器",
      "configurations": ["附加至 Vitest 瀏覽器", "執行 Vitest 瀏覽器"],
      "stopAll": true
    }
  ]
}

IntelliJ IDEA ​

建立一個 Vitest 執行設定。使用以下設定以偵錯模式執行所有測試:

設定值
工作目錄/path/to/your-project-root

然後在偵錯模式下執行此設定。IDE 將在編輯器中設定的 JavaScript/TypeScript 中斷點處停止。

Node Inspector,例如 Chrome DevTools ​

Vitest 也支援不透過 IDE 偵錯測試。然而,這要求測試不能並行執行。使用以下其中一個指令來啟動 Vitest。

sh
# 在單一 Worker 中執行
vitest --inspect-brk --pool threads --poolOptions.threads.singleThread

# 在單一子程序中執行
vitest --inspect-brk --pool forks --poolOptions.forks.singleFork

# 在瀏覽器模式中執行
vitest --inspect-brk --browser --no-file-parallelism

如果您使用 Vitest 1.1 或更高版本,您也可以只提供 --no-file-parallelism 旗標:

sh
# 如果 Pool 未知
vitest --inspect-brk --no-file-parallelism

一旦 Vitest 啟動,它將停止執行並等待您開啟可連接至 Node.js Inspector 的開發者工具。您可以使用 Chrome DevTools,方法是在瀏覽器中開啟 chrome://inspect。

在監看模式下,您可以使用 --poolOptions.threads.isolate false 選項,在測試重新執行期間保持偵錯器開啟。

Pager
上一頁IDE 整合
下一頁常見錯誤

以 MIT 授權條款 發布。

版權所有 (c) 2021-Present Vitest Team

https://vitest.dev/guide/debugging

以 MIT 授權條款 發布。

版權所有 (c) 2021-Present Vitest Team