Skip to content
Vitest 1
Main Navigation 指南API配置高級
1.6.1
0.34.6

繁體中文

English
简体中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

繁體中文

English
简体中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

外觀

Sidebar Navigation

指南

為什麼使用 Vitest

開始使用

功能特性

工作區

命令列界面

測試過濾器

報告器

覆蓋率

快照

模擬(Mocking)

測試類型

Vitest UI

瀏覽器模式

原始碼測試

測試上下文

測試環境

擴展匹配器

IDE 整合支援

偵錯

與其他測試執行器的比較

遷移指南

常見錯誤

提升效能

API

測試 API 參考文件

模擬函數

Vi

expect

expectTypeOf

assert

assertType

配置

管理 Vitest 配置文件

配置 Vitest

本頁導覽

測試過濾器 ​

套件與測試的過濾、逾時及並行

CLI ​

您可以使用 CLI 依名稱篩選測試檔案:

bash
$ vitest basic

這將只會執行檔名包含 basic 的測試檔案,例如:

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

你還可以使用 -t, --testNamePattern <pattern> 選項通過完整名稱來過濾測試。當你想通過文件中定義的名稱而不是文件名本身進行過濾時,這會很有用。

指定逾時時間 ​

您可以選擇性地將逾時時間 (毫秒) 作為測試的第三個參數傳遞給測試。預設值為 5 秒。

ts
import { test } from 'vitest';

test('name', async () => {
  /* ... */
}, 1000);

鉤子函數也能接收逾時時間,預設值同樣是 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);
  });
});

未實作的套件和測試 ​

使用 .todo 建立待實作的套件與測試的存根 (stub)。

ts
import { describe, it } from 'vitest';

// 此套件的項目將顯示於報告中
describe.todo('unimplemented suite');

// 此測試的項目將顯示於報告中
describe('suite', () => {
  it.todo('unimplemented test');
});
Pager
上一頁命令列界面
下一頁報告器

以 MIT 授權條款 發布。

版權所有 (c) 2024 Mithril Contributors

https://v1.vitest.dev/guide/filtering

以 MIT 授權條款 發布。

版權所有 (c) 2024 Mithril Contributors