Správa konfiguračního souboru pro Vitest
Pokud používáte Vite a máte soubor vite.config.js
(nebo vite.config.ts
), Vitest jej načte a použije jeho pluginy a nastavení pro vaši aplikaci Vite. Pokud potřebujete pro testování odlišnou konfiguraci, nebo pokud vaše hlavní aplikace Vite nevyužívá, máte několik možností:
- Vytvořit soubor
vitest.config.ts
, který má vyšší prioritu a přepíše konfiguraci zvite.config.ts
. Vitest podporuje běžné přípony JS a TS, ale nepodporujejson
. To znamená, že veškeré nastavení vvite.config.ts
bude ignorováno. - Použít volbu
--config
v příkazové řádce (CLI), například:vitest --config ./path/to/vitest.config.ts
. - Použít proměnnou prostředí
process.env.VITEST
nebo vlastnostmode
vdefineConfig
(která bude nastavena natest
nebobenchmark
, pokud ji nepřebijete pomocí--mode
) pro podmíněné nastavení odlišné konfigurace vvite.config.ts
.
Pro konfiguraci samotného Vitest přidejte vlastnost test
do konfigurace Vite. Pokud importujete defineConfig
přímo z vite
, budete muset přidat referenci na typy Vitest pomocí direktivy se třemi lomítky na začátek konfiguračního souboru.
Při použití defineConfig
z balíčku vite
postupujte takto:
/// <reference types="vitest" />
import { defineConfig } from 'vite';
export default defineConfig({
test: {
// ... Zde specifikujte možnosti.
},
});
Při použití defineConfig
z balíčku vitest/config
postupujte takto:
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
// ... Zde specifikujte možnosti.
},
});
Můžete získat výchozí nastavení Vitest a v případě potřeby je rozšířit:
import { configDefaults, defineConfig } from 'vitest/config';
export default defineConfig({
test: {
exclude: [...configDefaults.exclude, 'packages/template/*'],
},
});
Při použití samostatného souboru vitest.config.js
můžete v případě potřeby rozšířit nastavení Vite z jiného konfiguračního souboru:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default mergeConfig(
viteConfig,
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
);
Pokud je vaše konfigurace Vite definována jako funkce, můžete ji definovat následujícím způsobem:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default defineConfig(configEnv =>
mergeConfig(
viteConfig(configEnv),
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
)
);