Verwaltung der Vitest-Konfigurationsdatei
Wenn Sie Vite verwenden und eine vite.config-Datei haben, liest Vitest diese, um sie mit den Plugins und der Einrichtung Ihrer Vite-App abzustimmen. Falls Sie eine separate Testkonfiguration benötigen oder Ihre Hauptanwendung nicht auf Vite basiert, haben Sie folgende Möglichkeiten:
- Erstellen Sie eine
vitest.config.ts-Datei. Diese hat Vorrang und überschreibt die Konfiguration vonvite.config.ts(Vitest unterstützt alle gängigen JS- und TS-Erweiterungen, aber keinjson). Das bedeutet, dass alle Optionen in Ihrervite.configignoriert werden. - Übergeben Sie die Option
--configan die Kommandozeile, z. B.vitest --config ./path/to/vitest.config.ts. - Verwenden Sie
process.env.VITESToder die EigenschaftmodeindefineConfig(wird auftest/benchmarkgesetzt, wenn sie nicht mit--modeüberschrieben wird), um invite.config.tsbedingt eine andere Konfiguration zu verwenden.
Um vitest selbst zu konfigurieren, fügen Sie die Eigenschaft test in Ihrer Vite-Konfiguration hinzu. Sie müssen außerdem mit einem Triple-Slash-Befehl am Anfang Ihrer Konfigurationsdatei auf die Vitest-Typen verweisen, wenn Sie defineConfig von vite selbst importieren.
Wenn Sie defineConfig von vite verwenden, beachten Sie Folgendes:
/// <reference types="vitest" />
import { defineConfig } from 'vite';
export default defineConfig({
test: {
// ... Hier Optionen angeben.
},
});Wenn Sie defineConfig von vitest/config verwenden, beachten Sie Folgendes:
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
// ... Hier Optionen angeben.
},
});Sie können auf die Standardoptionen von Vitest zugreifen, um sie bei Bedarf zu erweitern:
import { configDefaults, defineConfig } from 'vitest/config';
export default defineConfig({
test: {
exclude: [...configDefaults.exclude, 'packages/template/*'],
},
});Wenn Sie eine separate vitest.config.ts-Datei verwenden, können Sie bei Bedarf auch die Vite-Optionen aus einer anderen Konfigurationsdatei übernehmen:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default mergeConfig(
viteConfig,
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
);Wenn Ihre Vite-Konfiguration als Funktion definiert ist, können Sie die Konfiguration wie folgt festlegen:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default defineConfig(configEnv =>
mergeConfig(
viteConfig(configEnv),
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
)
);