跳至内容

测试过滤

过滤、超时、套件和测试的并发

CLI

您可以使用 CLI 按名称过滤测试文件

bash
$ vitest basic

将仅执行包含 basic 的测试文件,例如:

basic.test.ts
basic-foo.test.ts
basic/foo.test.ts

您还可以使用 -t, --testNamePattern <pattern> 选项按完整名称过滤测试。当您想按文件中定义的名称而不是文件名本身进行过滤时,这很有用。

指定超时

您可以选择将超时时间(以毫秒为单位)作为测试的第三个参数传递。默认值为 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')
})