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

快速开始

特性

工作区

命令行界面

测试筛选

报告器

代码覆盖率

快照(Snapshot)

模拟(Mocking)

类型测试

Vitest UI

浏览器模式

源码内测试

测试上下文

测试环境

扩展匹配器

IDE 集成

调试

与其他测试运行器的比较

迁移指南

常见错误

提升性能

API

测试 API 索引

模拟函数

Vi

expect

expectTypeOf

assert(断言)

assertType

配置

管理 Vitest 配置文件

配置 Vitest

页面导航

管理 Vitest 配置文件 ​

如果你正在使用 Vite 并且有一个 vite.config 文件,Vitest 会读取该文件以匹配 Vite 应用的插件和配置。如果你的测试需要不同的配置,或者你的主应用不依赖 Vite,你可以选择以下方式:

  • 创建 vitest.config.ts 文件。该文件具有更高的优先级,会覆盖 vite.config.ts 中的配置(Vitest 支持所有常见的 JS 和 TS 扩展名,但不支持 json)。这意味着 vite.config.ts 中的所有选项都将被忽略。
  • 通过 CLI 传递 --config 选项,例如 vitest --config ./path/to/vitest.config.ts。
  • 使用 process.env.VITEST 环境变量或 defineConfig 中的 mode 属性(如果未通过 --mode 覆盖,则会被设置为 test/benchmark),从而在 vite.config.ts 中有条件地应用不同的配置。

要配置 Vitest 本身,请在你的 Vite 配置中添加 test 属性。如果你从 vite 导入 defineConfig,你还需要在配置文件顶部使用 三斜线指令添加对 Vitest 类型的引用。

使用来自 vite 的 defineConfig 时,你应该遵循以下方式:

ts
/// <reference types="vitest" />
import { defineConfig } from 'vite'

export default defineConfig({
  test: {
    // ... 在这里指定选项。
  },
})

使用来自 vitest/config 的 defineConfig 时,你应该遵循以下方式:

ts
import { defineConfig } from 'vitest/config'

export default defineConfig({
  test: {
    // ... 在这里指定选项。
  },
})

你可以获取 Vitest 的默认选项以便扩展:

ts
import { configDefaults, defineConfig } from 'vitest/config'

export default defineConfig({
  test: {
    exclude: [...configDefaults.exclude, 'packages/template/*'],
  },
})

使用单独的 vitest.config.js 文件时,如果需要,你还可以从另一个配置文件扩展 Vite 的配置项:

ts
import { defineConfig, mergeConfig } from 'vitest/config'
import viteConfig from './vite.config'

export default mergeConfig(viteConfig, defineConfig({
  test: {
    exclude: ['packages/template/*'],
  },
}))

如果你的 Vite 配置被定义为一个函数,你可以按如下方式定义配置:

ts
import { defineConfig, mergeConfig } from 'vitest/config'
import viteConfig from './vite.config'

export default defineConfig(configEnv => mergeConfig(
  viteConfig(configEnv),
  defineConfig({
    test: {
      exclude: ['packages/template/*'],
    },
  })
))
Pager
上一页assertType
下一页配置 Vitest

基于 MIT 许可证 发布。

版权所有 (c) 2024 Mithril Contributors

https://v1.vitest.dev/config/file

基于 MIT 许可证 发布。

版权所有 (c) 2024 Mithril Contributors