Skip to content
Vitest 1
Main Navigation 指南API配置高級
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

高級

Node API

測試執行器

任務元數據

擴充報告器

自訂池

本頁導覽

Node API ​

WARNING

Vitest 公開實驗性的私有 API。重大變更可能不遵循語義版本控制(semver),使用時請鎖定 Vitest 版本。

startVitest ​

您可以使用其 Node API 開始執行 Vitest 測試程式:

js
import { startVitest } from 'vitest/node';

const vitest = await startVitest('test');

await vitest?.close();

若成功開始測試,startVitest 函數將返回 Vitest 實例。如果發生以下情況之一,則返回 undefined:

  • Vitest 找不到 vite 套件(通常與 Vitest 一起安裝)
  • 如果啟用了覆蓋率(coverage)並且運行模式為 "test",但未安裝覆蓋率套件(例如 @vitest/coverage-v8 或 @vitest/coverage-istanbul)
  • 如果未安裝環境套件(jsdom / happy-dom / @edge-runtime/vm)

如果返回 undefined 或測試在運行期間失敗,Vitest 會將 process.exitCode 設置為 1。

如果未啟用監聽模式,Vitest 會調用 close 方法。

如果啟用了監聽模式並且終端支持 TTY,Vitest 將啟用控制台快捷指令。

您可以將過濾器列表作為第二個參數傳入。Vitest 將僅運行在其文件路徑中包含至少一個傳入字串的測試。

此外,您可以使用第三個參數傳入 CLI 參數,這些參數將覆蓋任何測試配置選項。

或者,您可以將完整的 Vite 配置作為第四個參數傳入,它將優先於任何其他使用者定義的選項。

createVitest ​

您可以使用 createVitest 函數自行建立 Vitest 實例。它返回與 startVitest 相同的 Vitest 實例,但它不啟動測試,也不驗證已安裝的套件。

js
import { createVitest } from 'vitest/node';

const vitest = await createVitest('test', {
  watch: false,
});

parseCLI ​

您可以使用此方法來解析 CLI 參數。它接受一個字串(其中參數由單個空格分隔)或一個字串陣列,該陣列包含與 Vitest CLI 使用的格式相同的 CLI 參數。它返回一個過濾器和 options,您可以稍後將它們傳遞給 createVitest 或 startVitest 方法。

ts
import { parseCLI } from 'vitest/node';

parseCLI('vitest ./files.ts --coverage --browser=chrome');

Vitest ​

Vitest 實例需要指定測試模式,可以是:

  • test:用於運行單元測試
  • benchmark:用於運行基準測試

mode ​

test ​

測試模式只會調用 test 或 it 內部的函數,並在遇到 bench 時拋出錯誤。此模式使用配置中的 include 和 exclude 選項來查找測試文件。

benchmark ​

基準測試模式執行 bench 函數,並在遇到 test 或 it 時拋出錯誤。此模式使用配置中的 benchmark.include 和 benchmark.exclude 選項來查找基準測試文件。

start ​

您可以使用 start 方法開始運行測試或基準測試。您可以傳遞一個字符串數組來過濾測試文件。

Pager
下一頁測試執行器

以 MIT 授權條款 發布。

版權所有 (c) 2024 Mithril Contributors

https://v1.vitest.dev/advanced/api

以 MIT 授權條款 發布。

版權所有 (c) 2024 Mithril Contributors