管理 Vitest 設定檔
如果您使用 Vite 並且有 vite.config
檔案,Vitest 會讀取它以與外掛程式相符,並設定為您的 Vite 應用程式。如果您想要有不同的測試設定,或者您的主應用程式並非特別依賴 Vite,您可以
- 建立
vitest.config.ts
,它將具有較高的優先權,並且會覆寫來自vite.config.ts
的設定(Vitest 支援所有傳統的 JS 和 TS 副檔名,但並不支援json
) - 這表示您vite.config
中的所有選項都將被忽略 - 傳遞
--config
選項至 CLI,例如vitest --config ./path/to/vitest.config.ts
- 在
defineConfig
上使用process.env.VITEST
或mode
屬性(如果未以--mode
覆寫,將設定為test
/benchmark
)以在vite.config.ts
中有條件地套用不同的設定
若要設定 vitest
本身,請在您的 Vite 設定中新增 test
屬性。如果您從 vite
本身匯入 defineConfig
,您還需要在設定檔的最上方使用 三斜線指令 新增對 Vitest 類型的參考。
從 vite
使用 defineConfig
,您應該遵循以下步驟
ts
/// <reference types="vitest" />
import { } from 'vite'
export default ({
: {
// ... Specify options here.
},
})
從 vitest/config
使用 defineConfig
,您應該遵循以下步驟
ts
import { } from 'vitest/config'
export default ({
: {
// ... Specify options here.
},
})
您可以擷取 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/*'],
},
})
))