テストのフィルタリング
フィルタリング、タイムアウト、スイートおよびテスト用の並列処理
CLI
CLI を使用してテストファイルを名前でフィルタリングできます。
bash
$ vitest basic
basic
を含むテストファイルのみを実行します (例)。
basic.test.ts
basic-foo.test.ts
basic/foo.test.ts
-t, --testNamePattern <pattern>
オプションを使用することで、テストを完全な名前でフィルタリングすることもできます。これは、ファイル名ではなく、ファイル内で定義されている名前でフィルタリングする場合に便利です。
タイムアウトの指定
オプションで、テストの第 3 引数としてミリ秒単位のタイムアウトを渡すことができます。デフォルトは 5 秒です。
ts
import { } from 'vitest'
('name', async () => { /* ... */ }, 1000)
フックはまた、同じデフォルトの 5 秒のタイムアウトを受け取ることができます。
ts
import { } from 'vitest'
(async () => { /* ... */ }, 1000)
スイートおよびテストのスキップ
特定のスイートまたはテストを実行しないようにするには、.skip
を使用します
ts
import { , , } from 'vitest'
.('skipped suite', () => {
('test', () => {
// Suite skipped, no error
.(.(4), 3)
})
})
('suite', () => {
.('skipped test', () => {
// Test skipped, no error
.(.(4), 3)
})
})
実行するスイートとテストの選択
特定のスイートまたはテストのみを実行するには、.only
を使用します。
ts
import { , , } from 'vitest'
// Only this suite (and others marked with only) are run
.('suite', () => {
('test', () => {
.(.(4), 3)
})
})
('another suite', () => {
('skipped test', () => {
// Test skipped, as tests are running in Only mode
.(.(4), 3)
})
.('test', () => {
// Only this test (and others marked with only) are run
.(.(4), 2)
})
})
未実装のスイートとテスト
実装する必要があるスイートとテストをスタブ化するには、.todo
を使用します。
ts
import { , } from 'vitest'
// An entry will be shown in the report for this suite
.('unimplemented suite')
// An entry will be shown in the report for this test
('suite', () => {
.('unimplemented test')
})