Node API
警告
Vitest は実験的なプライベート API を公開しています。破壊的な変更は SemVer に従わない可能性があるため、使用する際は Vitest のバージョンを固定してください。
startVitest
Node API を使用して Vitest テストの実行を開始できます。
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.exitCode
を 1
に設定します。
ウォッチモードが有効になっていない場合、Vitest は close
メソッドを呼び出します。
ウォッチモードが有効で、ターミナルが TTY をサポートしている場合、Vitest はコンソールショートカットを登録します。
2番目の引数としてフィルターのリストを渡すことができます。Vitest は、渡された文字列の少なくとも1つをファイルパスに含むテストのみを実行します。
さらに、3番目の引数を使用して CLI 引数を渡すことができます。これにより、テスト構成オプションが上書きされます。
あるいは、4番目の引数として完全な Vite 設定を渡すこともできます。これは、他のユーザー定義オプションよりも優先されます。
createVitest
createVitest
関数を使用して、自分で Vitest インスタンスを作成できます。これは startVitest
と同じ Vitest
インスタンスを返しますが、テストを開始したり、インストールされているパッケージを検証したりしません。
import { } from 'vitest/node'
const = await ('test', {
: false,
})
parseCLI
このメソッドを使用して CLI 引数を解析できます。文字列 (引数は単一のスペースで区切られます) または Vitest CLI が使用するのと同じ形式の CLI 引数の文字列配列を受け入れます。フィルターと、後で createVitest
または startVitest
メソッドに渡すことができる options
を返します。
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
メソッドを使用して、テストまたはベンチマークの実行を開始できます。テストファイルをフィルタリングするための文字列の配列を渡すことができます。