0Pricing
JavaScript Academy · Lektion

Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren

Die Gewohnheit entwickeln, kleine Tests zu schreiben: Assertions, Arrange–Act–Assert und den Ablauf rot→grün→refaktorisieren verstehen

Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren ist eine kostenlose JavaScript Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des JavaScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Warum eine Testhaltung?

Ziel: In kleinen, zuverlässigen Tests denken.

  • Ein kleines assert zum Überprüfen von Ergebnissen
  • AAA: Vorbereiten → Ausführen → Überprüfen
  • Schleife Red → Green → Refactor
  • Tests nach ihrem Verhalten benennen
Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren — Illustration 1

Eine kleine Assertion

Ein kleines assertEqual gibt Erfolg oder Fehlschlag aus. Das entspricht dem Verhalten echter Test-Frameworks.

// Minimal assertEqual for quick checks
function assertEqual(actual, expected, name) {
  if (actual === expected) {
    console.log("✅", name);
  } else {
    console.log("❌", name, "expected:", expected, "got:", actual);
  }
}

// Demo check
assertEqual(2 + 3, 5, "adds numbers");
Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren — Illustration 2

Arrange–Act–Assert

AAA sorgt für gut lesbare Tests: Bereiten Sie die Daten vor, rufen Sie die Funktion auf und überprüfen Sie anschließend das Ergebnis.

// AAA: Arrange → Act → Assert
// Arrange: prepare inputs
function sum(a, b) { return a + b; }
const a = 2;
const b = 4;

// Act: call the function
const result = sum(a, b);

// Assert: compare
assertEqual(result, 6, "sum returns a + b");
Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren — Illustration 3

Red→Green→Refactor

Schreiben Sie einen fehlschlagenden Test (red), bringen Sie ihn zum Bestehen (green) und bereinigen Sie anschließend den Code (refactor).

// Red → Green → Refactor with a tiny example
// 1) Red: write a failing test (expect wrong implementation)
function greet(name) { return "Hi " + name; } // simple implementation

// Intentionally failing expectation first (red)
assertEqual(greet("Ayla"), "Hello Ayla", "greet says Hello"); // likely fails

// 2) Green: fix the code to satisfy the test
function greetFixed(name) { return "Hello " + name; }
assertEqual(greetFixed("Ayla"), "Hello Ayla", "greet says Hello (fixed)");

// 3) Refactor: improve code without changing behavior
function greetRefined(name) {
  const cleaned = String(name).trim();
  return "Hello " + cleaned;
}
assertEqual(greetRefined(" Ayla "), "Hello Ayla", "greet trims input");
Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren — Illustration 4

Verhaltensorientierte Namen

Benennen Sie Prüfungen danach, was die Funktion tun soll: Grenzfälle und typische Fälle.

// Clear names describe behavior, not internals
function isAdult(age) { return age >= 18; }

assertEqual(isAdult(18), true, "isAdult returns true at boundary 18");
assertEqual(isAdult(17), false, "isAdult returns false below boundary");
Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren — Illustration 5

Kleine, fokussierte Tests

Tipps:

  • Halten Sie Tests klein und fokussiert (jeweils eine Idee).
  • Testen Sie den Erfolgsfall und einen Grenzfall.
  • Bevorzugen Sie reine Funktionen, die sich leicht testen lassen.
  • Automatisieren Sie später mit Jest/Vitest; zuerst kommt die richtige Denkweise.
Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren — Illustration 6

Quiz zum AAA-Muster

Kurze Überprüfung: AAA-Muster.

Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren — Illustration 7

Zusammenfassung

Zusammenfassung: Verwenden Sie ein kleines assert, folgen Sie AAA und durchlaufen Sie wiederholt Red → Green → Refactor. Beginnen Sie klein – Klarheit ist für Anfänger wichtiger als Komplexität.

Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren — Illustration 8

Häufig gestellte Fragen

Ist die Lektion „Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren“ kostenlos?

Ja — der vollständige Text von „Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des JavaScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren“?

Die Gewohnheit entwickeln, kleine Tests zu schreiben: Assertions, Arrange–Act–Assert und den Ablauf rot→grün→refaktorisieren verstehen Du übst JavaScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um JavaScript Academy zu starten?

Keine Vorkenntnisse erforderlich. JavaScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 3.

Wie lange dauert die Lektion „Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser JavaScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede JavaScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Testdenken – kleine Assertions, AAA, rot→grün→refaktorisieren
  2. Linting mit ESLint und Formatierung mit Prettier
  3. CI-Grundlagen – bei jedem Push Linting und Tests ausführen
← Zurück zu JavaScript Academy