테스트 필터링
스위트 및 테스트 필터링, 타임아웃, 동시성
CLI
CLI를 사용하여 파일 이름으로 테스트 파일을 필터링할 수 있습니다.
bash
$ vitest basic
basic
을 포함하는 테스트 파일만 실행됩니다. 예:
basic.test.ts
basic-foo.test.ts
basic/foo.test.ts
타임아웃 지정
테스트에 세 번째 인수로 밀리초 단위의 타임아웃을 선택적으로 지정할 수 있습니다. 기본값은 5초입니다.
ts
import { test } from 'vitest';
test('name', async () => {
/* ... */
}, 1000);
훅(Hook) 역시 기본적으로 5초의 타임아웃이 설정됩니다.
ts
import { beforeAll } from 'vitest';
beforeAll(async () => {
/* ... */
}, 1000);
스위트 및 테스트 건너뛰기
특정 스위트 또는 테스트를 실행하지 않으려면 .skip
을 사용합니다.
ts
import { assert, describe, it } from 'vitest';
describe.skip('skipped suite', () => {
it('test', () => {
// 스위트가 건너뛰어졌으므로 오류가 발생하지 않습니다.
assert.equal(Math.sqrt(4), 3);
});
});
describe('suite', () => {
it.skip('skipped test', () => {
// 테스트가 건너뛰어졌으므로 오류가 발생하지 않습니다.
assert.equal(Math.sqrt(4), 3);
});
});
실행할 스위트 및 테스트 선택
특정 스위트 또는 테스트만 실행하려면 .only
를 사용합니다.
ts
import { assert, describe, it } from 'vitest';
// 이 스위트와 `only`로 지정된 다른 스위트만 실행됩니다.
describe.only('suite', () => {
it('test', () => {
assert.equal(Math.sqrt(4), 3);
});
});
describe('another suite', () => {
it('skipped test', () => {
// Only 모드로 실행 중이므로 이 테스트는 건너뛰어집니다.
assert.equal(Math.sqrt(4), 3);
});
it.only('test', () => {
// 이 테스트와 `only`로 지정된 다른 테스트만 실행됩니다.
assert.equal(Math.sqrt(4), 2);
});
});
구현되지 않은 스위트 및 테스트
구현해야 할 스위트와 테스트의 스텁(stub)을 만들려면 .todo
를 사용합니다.
ts
import { describe, it } from 'vitest';
// 이 스위트는 보고서에 표시됩니다.
describe.todo('unimplemented suite');
// 이 테스트는 보고서에 표시됩니다.
describe('suite', () => {
it.todo('unimplemented test');
});