Gestione del file di configurazione di Vitest
Se utilizzi Vite e hai un file vite.config, Vitest lo leggerà per allinearsi ai plugin e configurarsi in modo coerente con la tua applicazione Vite. Se desideri una configurazione specifica per i test, o se la tua applicazione principale non utilizza Vite, puoi:
- Creare un file
vitest.config.ts. Questo file avrà la priorità più alta e sovrascriverà la configurazione divite.config.ts(Vitest supporta tutte le estensioni JS e TS convenzionali, ma nonjson). Ciò significa che tutte le opzioni presenti nel tuovite.configsaranno ignorate. - Passare l'opzione
--configalla CLI, ad esempio:vitest --config ./path/to/vitest.config.ts - Utilizzare
process.env.VITESTo la proprietàmodeindefineConfig(che sarà impostata sutest/benchmarkse non sovrascritta con--mode) per applicare una configurazione diversa invite.config.tsin modo condizionale.
Per configurare vitest stesso, aggiungi la proprietà test alla tua configurazione Vite. Sarà inoltre necessario aggiungere un riferimento ai tipi di Vitest tramite un comando triple slash all'inizio del tuo file di configurazione, se stai importando defineConfig da vite.
Utilizzando defineConfig da vite, dovresti procedere come segue:
/// <reference types="vitest" />
import { defineConfig } from 'vite';
export default defineConfig({
test: {
// ... Specifica qui le opzioni.
},
});Utilizzando defineConfig da vitest/config, dovresti procedere come segue:
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
// ... Specifica qui le opzioni.
},
});Puoi recuperare le opzioni predefinite di Vitest per estenderle se necessario:
import { configDefaults, defineConfig } from 'vitest/config';
export default defineConfig({
test: {
exclude: [...configDefaults.exclude, 'packages/template/*'],
},
});Quando utilizzi un file vitest.config.js separato, puoi anche estendere le opzioni di Vite da un altro file di configurazione, se necessario:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default mergeConfig(
viteConfig,
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
);Se la configurazione di Vite è definita come una funzione, puoi definirla in questo modo:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default defineConfig((configEnv) =>
mergeConfig(
viteConfig(configEnv),
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
)
);