節點 API
警告
Vitest 公開實驗性的私人 API。重大變更可能不會遵循 SemVer,請在使用時固定 Vitest 的版本。
startVitest
你可以使用其節點 API 開始執行 Vitest 測試
import { } from 'vitest/node'
const = await ('test')
await ?.()
startVitest
函數會在可以開始測試時傳回 Vitest
實例。如果發生下列情況之一,它會傳回 undefined
- Vitest 找不到
vite
套件(通常與 Vitest 一起安裝) - 如果啟用覆蓋率,且執行模式為「測試」,但未安裝覆蓋率套件(
@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
實例,但它不會啟動測試,也不會驗證已安裝的套件。
import { } from 'vitest/node'
const = await ('test', {
: false,
})
parseCLI
你可以使用這個方法來解析 CLI 參數。它接受一個字串(參數以單一空格分隔)或一個字串陣列,其中包含 Vitest CLI 使用的相同格式的 CLI 參數。它會傳回一個篩選器和 options
,你稍後可以將它們傳遞給 createVitest
或 startVitest
方法。
import { } from 'vitest/node'
('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
方法開始執行測試或基準測試。你可以傳入一個字串陣列來篩選測試檔案。