コンテンツへスキップ

Node API

警告

Vitest は実験的なプライベート API を公開しています。破壊的な変更は SemVer に従わない可能性があるため、使用する際は Vitest のバージョンを固定してください。

startVitest

Node API を使用して Vitest テストの実行を開始できます。

js
import {  } from 'vitest/node'

const  = await ('test')

await ?.()

startVitest 関数は、テストを開始できる場合に Vitest インスタンスを返します。次のいずれかが発生した場合は undefined を返します。

  • Vitest が vite パッケージを見つけられなかった場合 (通常は Vitest と一緒にインストールされます)
  • カバレッジが有効で実行モードが「test」の場合、カバレッジ パッケージがインストールされていない場合 (@vitest/coverage-v8 または @vitest/coverage-istanbul)
  • 環境パッケージがインストールされていない場合 (jsdom/happy-dom/@edge-runtime/vm)

undefined が返された場合、または実行中にテストが失敗した場合、Vitest は process.exitCode1 に設定します。

ウォッチモードが有効になっていない場合、Vitest は close メソッドを呼び出します。

ウォッチモードが有効で、ターミナルが TTY をサポートしている場合、Vitest はコンソールショートカットを登録します。

2番目の引数としてフィルターのリストを渡すことができます。Vitest は、渡された文字列の少なくとも1つをファイルパスに含むテストのみを実行します。

さらに、3番目の引数を使用して CLI 引数を渡すことができます。これにより、テスト構成オプションが上書きされます。

あるいは、4番目の引数として完全な Vite 設定を渡すこともできます。これは、他のユーザー定義オプションよりも優先されます。

createVitest

createVitest 関数を使用して、自分で Vitest インスタンスを作成できます。これは startVitest と同じ Vitest インスタンスを返しますが、テストを開始したり、インストールされているパッケージを検証したりしません。

js
import {  } from 'vitest/node'

const  = await ('test', {
  : false,
})

parseCLI

このメソッドを使用して CLI 引数を解析できます。文字列 (引数は単一のスペースで区切られます) または Vitest CLI が使用するのと同じ形式の CLI 引数の文字列配列を受け入れます。フィルターと、後で createVitest または startVitest メソッドに渡すことができる options を返します。

ts
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 メソッドを使用して、テストまたはベンチマークの実行を開始できます。テストファイルをフィルタリングするための文字列の配列を渡すことができます。

MITライセンスに基づいてリリースされています。