Day4 vitest 之 前言: 配置 vitest

以前直接看配置选项,现在学聪明了~~~先概再细

有关于vitest的配置选项下次再发啦~~~~

每日语录:摆烂是自我保护机制,有效的努力,有效的摆烂,拒绝无效努力,更拒绝无效摆烂

使用vite作为构建工具

vitest支持与vite相同的配置文件扩展名,但不支持.json扩展

  • .js

  • .mjs

  • .cjs

  • .ts

  • .cts

  • 首先

    • vitest将读取您的根vite.config.ts,以与插件匹配并设置为您的vite应用程序(vitest的优势之一)

    • 举例:

    • 您的vite resolve.alias和插件配置开箱即用

    • 配置要求

    • 需要在vite配置中添加test属性,且在配置文件顶部使用三斜杠指令添加对vitest类型的引用

      
          export default defineConfig({ test:{ } }) ```
      
      
  • 扩展

    • 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

不使用vite作为构建工具

  • 可以使用配置文件的test属性来配置vitest
import {defineConfig} from "vitest/config"
export  default defineConfig({
  test:{
  }
})

需要注意:即使不使用vite,vitest的转换管道严重依赖vite,因此您还可以配置vite文档中描述的任何属性

建议

如果你想要为vite和vitest使用两个单独的配置文件

  • 确保在vitest配置文件中定义相同的vite选项,因为他将覆盖您的vite文件,而不是扩展你的vite配置

如果你想要将vite配置与vitest配置合并

  • 使用vite或者vitest/config条目中的merge方法将vite配置与vitest配置合并
import {defineConfig,mergeConfig} from "vitest/config"
import viteConfig from "./vite.config.mjs"

export default mergeConfig(viteConfig,defineConfig({
  test:{
    //...
  }
}))

官方建议vite和vitest使用相同的文件,而不是创建两个单独的文件