JavaScript Academy · Lektion

Testtänkande — små assertioner, AAA, röd→grön→refaktorering

Skapa vanan att skriva små tester: förstå assertioner, Arrange–Act–Assert och loopen röd→grön→refaktorering.

Lektion 1 av 38 steg

Testtänkande — små assertioner, AAA, röd→grön→refaktorering är en gratis lektion i JavaScript Academy på CoddyKit. Detta är lektion 1 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för JavaScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i JavaScript Academy innehåller totalt 3 lektioner.

Varför ett testtänk?

Mål: Tänka i små, tillförlitliga tester.

  • Små assert-anrop för att kontrollera resultat
  • AAA: Arrange → Act → Assert
  • Loopen Röd → Grön → Refaktorera
  • Namnge tester efter beteende
Testtänkande — små assertioner, AAA, röd→grön→refaktorering — illustration 1

Ett litet assertEqual

Ett litet assertEqual skriver ut godkänt/underkänt. Det motsvarar vad riktiga testramverk gör.

// 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");
Testtänkande — små assertioner, AAA, röd→grön→refaktorering — illustration 2

Arrange–Act–Assert

AAA gör tester lättlästa: förbered data, anropa funktionen och kontrollera sedan resultatet.

// 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");
Testtänkande — små assertioner, AAA, röd→grön→refaktorering — illustration 3

Röd→Grön→Refaktorering

Skriv ett test som misslyckas (rött), få det att passera (grönt) och städa sedan koden (refaktorera).

// 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");
Testtänkande — små assertioner, AAA, röd→grön→refaktorering — illustration 4

Beteendefokuserade namn

Namnge kontroller efter vad funktionen ska göra: gränsfall och typiska fall.

// 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");
Testtänkande — små assertioner, AAA, röd→grön→refaktorering — illustration 5

Små, fokuserade tester

Tips:

  • Håll testerna små och fokuserade (en idé per test).
  • Testa det normala flödet och ett gränsfall.
  • Föredra rena funktioner som är enkla att testa.
  • Automatisera senare med Jest/Vitest; börja med tankesättet.
Testtänkande — små assertioner, AAA, röd→grön→refaktorering — illustration 6

Quiz om AAA-mönstret

Snabbkontroll: AAA-mönstret.

Testtänkande — små assertioner, AAA, röd→grön→refaktorering — illustration 7

Sammanfattning

Sammanfattning: Använd ett litet assert, följ AAA och iterera genom Röd → Grön → Refaktorera. Börja smått – för nybörjare är tydlighet viktigare än komplexitet.

Testtänkande — små assertioner, AAA, röd→grön→refaktorering — illustration 8
Gratis att börja

Lär dig JavaScript med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
59
Lektioner
200

Vanliga frågor

Är lektionen ”Testtänkande — små assertioner, AAA, röd→grön→refaktorering” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen JavaScript Academy, inklusive ”Testtänkande — små assertioner, AAA, röd→grön→refaktorering”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i JavaScript Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Testtänkande — små assertioner, AAA, röd→grön→refaktorering”?

Skapa vanan att skriva små tester: förstå assertioner, Arrange–Act–Assert och loopen röd→grön→refaktorering. Ni övar på JavaScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig JavaScript Academy?

Du behöver inga förkunskaper. Utbildningen i JavaScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 3.

Hur lång tid tar lektionen ”Testtänkande — små assertioner, AAA, röd→grön→refaktorering”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här JavaScript Academy-lektionen?

Ja. Varje JavaScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Testtänkande — små assertioner, AAA, röd→grön→refaktorering
  2. Lintning med ESLint och formatering med Prettier
  3. Grunderna i CI — kör lintning och tester vid varje push
← Tillbaka till JavaScript Academy