0Pricing
JavaScript Academy · Lezione

Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring

Sviluppi l’abitudine di scrivere test brevi: comprendi le asserzioni, Arrange–Act–Assert e il ciclo rosso→verde→refactoring.

Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento JavaScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso JavaScript Academy include 3 lezioni in totale.

Perché una mentalità orientata ai test?

Obiettivo: pensi in termini di test piccoli e affidabili.

  • Un piccolo assert per verificare i risultati
  • AAA: Arrange → Act → Assert
  • Ciclo Red → Green → Refactor
  • Denomini i test in base al comportamento
Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring — illustrazione 1

Una piccola asserzione

Un piccolo assertEqual stampa se il test è superato o non superato. Questo rispecchia il comportamento dei veri framework di test.

// 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");
Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring — illustrazione 2

Arrange–Act–Assert

AAA mantiene i test leggibili: prepari i dati, chiami la funzione e poi verifichi il risultato.

// 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");
Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring — illustrazione 3

Red→Green→Refactor

Scriva un test che non passa (red), lo faccia passare (green) e poi ripulisca il codice (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");
Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring — illustrazione 4

Nomi focalizzati sul comportamento

Denomini i controlli in base a ciò che la funzione deve fare: casi limite e casi tipici.

// 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");
Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring — illustrazione 5

Test piccoli e mirati

Suggerimenti:

  • Mantenga i test piccoli e mirati (una sola idea per ciascuno).
  • Verifichi il percorso positivo e un caso limite.
  • Preferisca le funzioni pure per facilitare i test.
  • Automatizzi in seguito con Jest/Vitest; prima viene la mentalità.
Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring — illustrazione 6

Quiz sul pattern AAA

Verifica rapida: pattern AAA.

Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring — illustrazione 7

Riepilogo

Riepilogo: usi un piccolo assert, segua AAA e proceda per iterazioni con Red → Green → Refactor. Inizi in piccolo: per chi è alle prime armi, la chiarezza è più importante della complessità.

Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring — illustrazione 8

Domande Frequenti

La lezione «Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring» è gratuita?

Sì — il testo completo di «Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso JavaScript Academy, passa a CoddyKit PRO. Il corso JavaScript Academy include 3 lezioni in totale.

Cosa imparerò in «Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring»?

Sviluppi l’abitudine di scrivere test brevi: comprendi le asserzioni, Arrange–Act–Assert e il ciclo rosso→verde→refactoring. Eserciti JavaScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare JavaScript Academy?

Non è richiesta alcuna esperienza precedente. JavaScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.

Quanto tempo richiede la lezione «Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione JavaScript Academy?

Sì. Ogni lezione JavaScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Mentalità del testing — asserzioni minime, AAA, rosso→verde→refactoring
  2. Linting con ESLint e formattazione con Prettier
  3. Basi della CI — eseguire lint e test a ogni push
← Torna a JavaScript Academy