测试过滤
过滤、超时、套件和测试的并发
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')
})