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.config
ignoriert werden. - Übergeben Sie die Option
--config
an die Kommandozeile, z. B.vitest --config ./path/to/vitest.config.ts
. - Verwenden Sie
process.env.VITEST
oder die Eigenschaftmode
indefineConfig
(wird auftest
/benchmark
gesetzt, wenn sie nicht mit--mode
überschrieben wird), um invite.config.ts
bedingt 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/*'],
},
})
)
);