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

高级

Node API

测试运行器

任务元数据

扩展报告器

自定义 pool

页面导航

Node API ​

WARNING

Vitest 暴露了实验性的私有 API。重大变更可能不遵循语义化版本规范,使用时请锁定 Vitest 的版本。

startVitest ​

你可以通过 Node API 运行 Vitest 测试:

js
import { startVitest } from 'vitest/node';

const vitest = await startVitest('test');

await vitest?.close();

如果测试能够运行,startVitest 函数会返回 Vitest 实例。 如果发生以下情况之一,将返回 undefined:

  • Vitest 未找到 vite 包(通常与 Vitest 一起安装)。
  • 启用了覆盖率,且运行模式为 "test",但未安装覆盖率包(@vitest/coverage-v8 或 @vitest/coverage-istanbul)。
  • 未安装环境包(jsdom/happy-dom/@edge-runtime/vm)。

如果返回 undefined 或测试运行失败,Vitest 会将 process.exitCode 设置为 1。

如果未启用监听模式,Vitest 将调用 close 方法。

如果启用了监听模式并且终端支持 TTY,Vitest 将注册控制台快捷操作。

你可以将过滤器列表作为第二个参数传入。 Vitest 将仅运行文件路径中包含至少一个传入字符串的测试。

此外,你可以通过第三个参数传入 CLI 参数,这些参数会覆盖所有测试配置选项。

或者,你可以将完整的 Vite 配置作为第四个参数传入,其优先级高于其他用户定义的选项。

createVitest ​

可通过 createVitest 函数自行创建 Vitest 实例。它返回与 startVitest 相同的 Vitest 实例,但不会运行测试或验证已安装的包。

js
import { createVitest } from 'vitest/node';

const vitest = await createVitest('test', {
  watch: false,
});

parseCLI ​

你可以使用此方法来解析 CLI 参数。它接受一个字符串(其中参数由单个空格分隔)或一个字符串数组,该数组包含与 Vitest CLI 使用的格式相同的 CLI 参数。它返回一个过滤器和 options,你可以稍后将它们传递给 createVitest 或 startVitest 方法。

ts
import { parseCLI } from 'vitest/node';

parseCLI('vitest ./files.ts --coverage --browser=chrome');

Vitest ​

Vitest 实例需要指定当前的测试模式。它可以是:

  • test:运行单元测试时。
  • benchmark:运行基准测试时。

mode ​

test ​

测试模式仅会执行 test 或 it 中的函数,并在遇到 bench 时抛出错误。此模式使用配置中的 include 和 exclude 选项来查找测试文件。

benchmark ​

基准测试模式执行 bench 函数,并在遇到 test 或 it 时抛出错误。此模式使用配置中的 benchmark.include 和 benchmark.exclude 选项来查找基准测试文件。

start ​

你可以使用 start 方法开始运行测试或基准测试。你可以传递一个字符串数组来过滤要测试的文件。

Pager
下一页测试运行器

基于 MIT 许可证 发布。

版权所有 (c) 2024 Mithril Contributors

https://v1.vitest.dev/advanced/api

基于 MIT 许可证 发布。

版权所有 (c) 2024 Mithril Contributors