Administración del archivo de configuración de Vitest
Si utilizas Vite y tienes un archivo vite.config.js (o .ts), Vitest lo leerá para usar los mismos plugins y la configuración de tu aplicación Vite. Si deseas una configuración diferente para las pruebas, o si tu aplicación principal no depende de Vite, puedes:
- Crear un archivo
vitest.config.ts. Este archivo tendrá mayor prioridad y anulará la configuración devite.config.ts. Vitest admite todas las extensiones convencionales de JS y TS, pero no admitejson. Esto significa que todas las opciones envite.config.tsserán ignoradas. - Pasar la opción
--configa la CLI, por ejemplo,vitest --config ./path/to/vitest.config.ts. - Usar
process.env.VITESTo la propiedadmodeendefineConfig(se establecerá atest/benchmarksi no se sobrescribe con--mode) para aplicar condicionalmente una configuración diferente envite.config.ts.
Para configurar vitest, añade la propiedad test a tu configuración de Vite. También deberás añadir una referencia a los tipos de Vitest usando un comando de triple barra en la parte superior de tu archivo de configuración, si estás importando defineConfig desde el propio vite.
Si usas defineConfig desde vite, sigue estas instrucciones:
/// <reference types="vitest" />
import { defineConfig } from 'vite';
export default defineConfig({
test: {
// ... Especifica las opciones aquí.
},
});Si usas defineConfig desde vitest/config, sigue estas instrucciones:
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
// ... Especifica las opciones aquí.
},
});Puedes obtener las opciones predeterminadas de Vitest para extenderlas si es necesario:
import { configDefaults, defineConfig } from 'vitest/config';
export default defineConfig({
test: {
exclude: [...configDefaults.exclude, 'packages/template/*'],
},
});Cuando uses un archivo vitest.config.js independiente, también puedes extender las opciones de Vite desde otro archivo de configuración, si es necesario:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default mergeConfig(
viteConfig,
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
);Si tu configuración de Vite se define como una función, puedes definir la configuración de esta manera:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default defineConfig(configEnv =>
mergeConfig(
viteConfig(configEnv),
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
)
);