Vitest の設定ファイルの管理
Vite を使用しており、vite.config
ファイルがある場合、Vitest はそのファイルを読み取ってプラグインと Vite アプリとしてのセットアップと照合します。テストまたはメインアプリの構成を変更するか、Vite に依存せずに作成したい場合は、次のいずれかの方法があります。
- 優先順位が高く、
vite.config.ts
からの構成を上書きするvitest.config.ts
を作成します (Vitest は従来のすべての JS および TS 拡張子をサポートしますが、json
はサポートしていません)。つまり、vite.config
のすべてのオプションは無視されます。 - 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 { } 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/*'],
},
})
))