Unit‑Tests — die Grundlage
Eigenschaften eines guten Unit‑Tests (FIRST):
- Fast: Millisekunden, sonst werden sie nicht ausgeführt.
- Independent: Reihenfolge egal, kein Shared‑State.
- Repeatable: gleiche Inputs → gleiche Ergebnisse, immer.
- Self‑Validating: grün/rot, kein menschlicher Blick.
- Timely: idealerweise vor oder zusammen mit der Implementierung.
AAA‑Pattern (Arrange, Act, Assert):
test('addItem erhöht den Cart‑Total', () => {
// Arrange
const cart = new Cart();
const item = { id: 1, price: 20 };
// Act
cart.addItem(item);
// Assert
expect(cart.total).toBe(20);
});Mocks, Stubs, Fakes:
- Stub: liefert vordefinierte Antworten.
- Mock: erwartet bestimmte Aufrufe (assertions).
- Fake: einfache eigene Implementierung (z. B. In‑Memory‑DB).
- Spy: beobachtet echte Funktion + zeichnet Aufrufe auf.
Zurück zu Informatik