Zarządzanie plikiem konfiguracyjnym Vitest
Jeśli używasz Vite i masz plik vite.config
, Vitest odczyta go, aby dopasować wtyczki i konfigurację do aplikacji Vite. Jeśli potrzebujesz innej konfiguracji dla testów lub Twoja aplikacja nie bazuje bezpośrednio na Vite, możesz:
- Utworzyć plik
vitest.config.ts
. Będzie on miał wyższy priorytet i nadpisze konfigurację zvite.config.ts
(Vitest obsługuje wszystkie standardowe rozszerzenia JS i TS, ale nie obsługujejson
). Oznacza to, że wszystkie opcje wvite.config
zostaną zignorowane. - Użyć opcji
--config
w CLI, np.vitest --config ./path/to/vitest.config.ts
. - Użyć
process.env.VITEST
lub właściwościmode
wdefineConfig
(która będzie ustawiona natest
/benchmark
, jeśli nie zostanie nadpisana przez--mode
), aby warunkowo zastosować inną konfigurację wvite.config.ts
.
Aby skonfigurować sam vitest
, dodaj właściwość test
do konfiguracji Vite. Konieczne będzie również dodanie referencji do typów Vitest za pomocą dyrektywy potrójnego ukośnika na początku pliku konfiguracyjnego, jeśli importujesz defineConfig
z vite
.
Używając defineConfig
z vite
, zrób to w następujący sposób:
/// <reference types="vitest" />
import { defineConfig } from 'vite';
export default defineConfig({
test: {
// ... Określ tutaj opcje.
},
});
Używając defineConfig
z vitest/config
, postępuj zgodnie z poniższym przykładem:
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
// ... Określ opcje tutaj.
},
});
Możesz pobrać domyślne opcje Vitest i je rozszerzyć, jeśli to konieczne:
import { configDefaults, defineConfig } from 'vitest/config';
export default defineConfig({
test: {
exclude: [...configDefaults.exclude, 'packages/template/*'],
},
});
Korzystając z oddzielnego pliku vitest.config.js
, możesz również rozszerzyć opcje Vite z innego pliku konfiguracyjnego:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default mergeConfig(
viteConfig,
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
);
Jeżeli konfiguracja Vite jest zdefiniowana jako funkcja, możesz ją zdefiniować w następujący sposób:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default defineConfig((configEnv) =>
mergeConfig(
viteConfig(configEnv),
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
)
);