以前直接看配置选项,现在学聪明了~~~先概再细
有关于vitest的配置选项下次再发啦~~~~
每日语录:摆烂是自我保护机制,有效的努力,有效的摆烂,拒绝无效努力,更拒绝无效摆烂
使用vite作为构建工具
vitest支持与vite相同的配置文件扩展名,但不支持.json扩展
-
.js
-
.mjs
-
.cjs
-
.ts
-
.cts
-
首先
- vitest将读取您的根vite.config.ts,以与插件匹配并设置为您的vite应用程序(vitest的优势之一)
-
举例:
-
您的vite resolve.alias和插件配置开箱即用
-
-
配置要求
-
需要在vite配置中添加test属性
-
如果你要从vite本身导入defineConfig,您还需要在配置文件顶部使用三斜杠指令添加对vitest类型的引用
//使用vite中的dinfineConfig你应该遵循一下步骤: /// <reference types="vitest" /> import { defineConfig } from 'vite' export default defineConfig({ test: { // ... Specify options here. }, })
-
-
-
扩展
-
vitest还支持您在测试期间的不同的配置,以下方法均可:
-
创建vitest.config.ts, 比vite.config.ts具有更高的优先级
-
将 - config选项传递给cli ,例如vitest --config ./path/to/vitest.config.ts
-
使用definConfig上的process.env.VITEST 或者 mode属性 (如果未覆盖则设置为test)有条件的应用vite.config.ts
-
-
-
- vitest将读取您的根vite.config.ts,以与插件匹配并设置为您的vite应用程序(vitest的优势之一)
不使用vite作为构建工具
- 可以使用配置文件的test属性来配置vitest
//使用 vitest/config 中的 defineConfig 您应该遵循以下步骤:
import {defineConfig} from "vitest/config"
export default defineConfig({
test:{
}
})
- 如果需要:您可以检索 Vitest 的默认选项来扩展它们
import { configDefaults, defineConfig } from 'vitest/config'
export default defineConfig({
test: {
exclude: [...configDefaults.exclude, 'packages/template/*'],
},
})
需要注意:即使不使用vite,vitest的转换管道严重依赖vite,因此您还可以配置vite文档中描述的任何属性
建议
1.如果你想要为vite和vitest使用两个单独的配置文件
- 确保在vitest配置文件中定义相同的vite选项,因为他将覆盖您的vite文件,而不是扩展你的vite配置
2.如果你想要将vite配置与vitest配置合并
- 使用vite或者vitest/config条目中的merge方法将vite配置与vitest配置合并
- 当你的vite配置不以函数形式导出的时候
-
import {defineConfig,mergeConfig} from "vitest/config" import viteConfig from "./vite.config.mjs" export default mergeConfig(viteConfig,defineConfig({ test:{ exclude: ['packages/template/*'], } }))
-
- 当你的vite配置以函数形式导出的时候
-
注意:mergeConfig 助手自 v0.30.0 起在 Vitest 中可用。如果您使用较低版本,可以直接从 vite 导入。import { defineConfig, mergeConfig } from 'vitest/config' import viteConfig from './vite.config' export default defineConfig(configEnv => mergeConfig( viteConfig(configEnv), defineConfig({ test: { exclude: ['packages/template/*'], }, }) ))
-
- 当你的vite配置不以函数形式导出的时候