Erste Schritte
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Installiere Jest mit deinem bevorzugten Paketmanager:
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev jest
yarn add --dev jest
pnpm add --save-dev jest
bun add --dev jest
Beginnen wir mit dem Schreiben eines Tests für eine hypothetische Funktion, die zwei Zahlen addiert. Erstelle zuerst eine sum.js-Datei:
function sum(a, b) {
return a + b;
}
module.exports = sum;
Erstelle dann eine Datei namens sum.test.js. Diese wird unseren eigentlichen Test enthalten:
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
Füge folgenden Abschnitt in deine package.json ein:
{
"scripts": {
"test": "jest"
}
}
Führe abschließend yarn test oder npm test aus, und Jest gibt diese Meldung aus:
PASS ./sum.test.js
✓ adds 1 + 2 to equal 3 (5ms)
Du hast soeben deinen ersten Test mit Jest erfolgreich geschrieben!
Dieser Test verwendete expect und toBe, um zu prüfen, ob zwei Werte exakt identisch sind. Um mehr über die weiteren Testmöglichkeiten von Jest zu erfahren, siehe Matcher verwenden.
Ausführung über die Kommandozeile
Du kannst Jest direkt über die CLI ausführen (falls es global in deinem PATH verfügbar ist, z.B. via yarn global add jest oder npm install jest --global) mit verschiedenen nützlichen Optionen.
So führst du Jest für Dateien aus, die auf my-test passen, verwendest config.json als Konfigurationsdatei und zeigst nach Ausführung eine native Systembenachrichtigung an:
jest my-test --notify --config=config.json
Wenn du mehr über die Ausführung von jest über die Kommandozeile lernen möchtest, sieh dir die Seite Jest CLI-Optionen an.
Zusätzliche Konfiguration
Erzeuge eine grundlegende Konfigurationsdatei
Basierend auf deinem Projekt stellt Jest dir einige Fragen und erstellt eine grundlegende Konfigurationsdatei mit einer kurzen Beschreibung für jede Option:
- npm
- Yarn
- pnpm
- Bun
npm init jest@latest
yarn create jest
pnpm create jest
bunx create-jest
Babel verwenden
Um Babel zu verwenden, installiere die erforderlichen Abhängigkeiten:
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev babel-jest @babel/core @babel/preset-env
yarn add --dev babel-jest @babel/core @babel/preset-env
pnpm add --save-dev babel-jest @babel/core @babel/preset-env
bun add --dev babel-jest @babel/core @babel/preset-env
Konfiguriere Babel für deine aktuelle Node-Version, indem du eine babel.config.js-Datei im Stammverzeichnis deines Projekts erstellst:
module.exports = {
presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
};
Die ideale Konfiguration für Babel hängt von deinem Projekt ab. Weitere Details findest du in der Babel-Dokumentation.
Making your Babel config jest-aware
Jest will set process.env.NODE_ENV to 'test' if it's not set to something else. You can use that in your configuration to conditionally setup only the compilation needed for Jest, e.g.
module.exports = api => {
const isTest = api.env('test');
// You can use isTest to determine what presets and plugins to use.
return {
// ...
};
};
babel-jest is automatically installed when installing Jest and will automatically transform files if a babel configuration exists in your project. To avoid this behavior, you can explicitly reset the transform configuration option:
module.exports = {
transform: {},
};
Verwendung mit Bundlern
In den meisten Fällen musst du nichts Besonderes tun, um mit verschiedenen Bundlern zu arbeiten - die Ausnahme ist, wenn du Plugins oder Konfigurationen hast, die Dateien generieren oder eigene Dateiauflösungsregeln verwenden.
Webpack verwenden
Jest kann in Projekten verwendet werden, die webpack zur Verwaltung von Assets, Styles und Kompilierung einsetzen. Webpack stellt einige einzigartige Herausforderungen dar. Siehe den Webpack-Leitfaden für den Einstieg.
Vite verwenden
Jest wird von Vite aufgrund von Inkompatibilitäten mit dem Vite-Plugin-System nicht unterstützt.
Es gibt Beispiele für die Jest-Integration mit Vite in der vite-jest-Bibliothek. Diese Bibliothek ist jedoch nicht mit Vite-Versionen nach 2.4.2 kompatibel.
Eine Alternative ist Vitest, das eine API bietet, die mit Jest kompatibel ist.
Parcel verwenden
Jest kann in Projekten verwendet werden, die parcel-bundler zur Verwaltung von Assets, Styles und Kompilierung ähnlich wie webpack einsetzen. Parcel benötigt keine Konfiguration. Siehe die offizielle Dokumentation für den Einstieg.