Jest Testing Guide für JavaScript-Entwickler
Testen hilft Ihnen, Fehler frühzeitig zu finden. Es verbessert die Codequalität. Es ermöglicht Ihnen, Features zu veröffentlichen, ohne bestehenden Code zu beschädigen.
Jest ist ein beliebtes Testing-Tool für JavaScript und Node.js. Es wurde von Meta entwickelt. Es funktioniert mit TypeScript, React, Next.js und Express.js.
Warum Jest verwenden?
- Es erfordert wenig Setup.
- Es führt Tests parallel aus, um Geschwindigkeit zu gewährleisten.
- Es enthält Mocking-Tools.
- Es zeigt Code-Coverage-Berichte an.
- Es liefert klare Fehlermeldungen.
So richten Sie Jest ein:
- Erstellen Sie ein Node.js-Projekt: npm init -y
- Installieren Sie Jest: npm install --save-dev jest
- Aktualisieren Sie die package.json-Skripte, um "test": "jest" hinzuzufügen
- Führen Sie Tests aus mit: npm test
Einen einfachen Test schreiben:
Erstellen Sie sum.js:
function sum(a, b) {
return a + b;
}
module.exports = sum;
Erstellen Sie sum.test.js:
const sum = require("./sum");
test("adds two numbers", () => {
expect(sum(2, 3)).toBe(5);
});
Essenzielle Jest-Tools:
- Assertions: Verwenden Sie
expect()undtoBe(), um Werte zu prüfen. - Objekte: Verwenden Sie
toEqual(), um Objekte oder Arrays zu vergleichen. - Organisation: Verwenden Sie
describe(), um zusammengehörige Tests zu gruppieren. - Async: Jest verarbeitet asynchrone Funktionen ganz natürlich mit
await. - Mocks: Verwenden Sie
jest.fn(), um Funktionen zu simulieren. Dies hält Tests schnell, indem echte API-Aufrufe oder Datenbankzugriffe vermieden werden. - Hooks: Verwenden Sie
beforeEach()undafterEach(), um Testdaten vorzubereiten oder zu bereinigen.
Messen Sie Ihren Erfolg:
Führen Sie npx jest --coverage aus, um Ihren Coverage-Bericht zu sehen. Dieser zeigt an, welche Teile Ihres Codes keine Tests haben.
APIs testen:
Verwenden Sie Supertest, um API-Endpunkte zu testen. Sie können Statuscodes prüfen, ohne einen echten Server zu starten.
Snapshot-Testing:
Verwenden Sie matchSnapshot() in React. Dies hilft Ihnen, unerwartete UI-Änderungen zu finden, indem aktuelle Renderings mit gespeicherten Versionen verglichen werden.
Best Practices:
- Schreiben Sie Tests, die Ergebnisse beschreiben.
- Vermeiden Sie es, die interne Codestruktur zu testen.
- Verzichten Sie in Unit-Tests auf echte Datenbanken.
- Konzentrieren Sie sich auf eine aussagekräftige Coverage.
Die Beherrschung von Jest hilft Ihnen, zuverlässige Software zu entwickeln.