Informatik 2.3 — Software-Testing

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