0Pricing
PHP Academy · Lezione

Configurazione di PHPUnit e primo test

Installare PHPUnit tramite Composer e scrivere la prima classe di test.

Configurazione di PHPUnit e primo test è una lezione PHP Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. 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 PHP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso PHP Academy include 4 lezioni in totale.

Che cos'è PHPUnit?

PHPUnit è il framework standard di test unitari per PHP. Consente di scrivere test automatizzati che verificano singole unità di codice in isolamento.

Installazione di PHPUnit

Installare PHPUnit tramite Composer come dipendenza di sviluppo.

$ composer require --dev phpunit/phpunit "^11.0"

Configurazione di phpunit.xml

Creare un file phpunit.xml per configurare la suite di test.

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="Unit">
            <directory>tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

Scrittura di una classe di test

Estendere PHPUnit\Framework\TestCase. Ogni metodo pubblico con prefisso test è un test.

<?php
use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase
{
    public function test_addition(): void
    {
        $calc = new Calculator();
        $this->assertEquals(5, $calc->add(2, 3));
    }
}

La classe sottoposta a test

La classe Calculator sottoposta a test:

<?php
class Calculator
{
    public function add(int $a, int $b): int
    {
        return $a + $b;
    }
}

Esecuzione dei test

Eseguire PHPUnit dalla radice del progetto.

$ vendor/bin/phpunit
...
OK (1 test, 1 assertion)

Convenzioni per i nomi dei test

Due stili: test_method_name() (snake_case con prefisso test) oppure l'annotazione @test senza il prefisso.

<?php
/** @test */
public function addition_returns_correct_sum(): void
{
    $this->assertEquals(5, (new Calculator())->add(2, 3));
}

Struttura delle directory

Struttura comune: i test rispecchiano la struttura di src.

src/Calculator.php       → Calculator
tests/CalculatorTest.php → CalculatorTest

setUp() e tearDown()

Eseguire il codice prima e dopo ogni metodo di test. Usare setUp() per creare l'oggetto sottoposto a test.

<?php
protected function setUp(): void
{
    $this->calc = new Calculator();
}

public function test_add(): void
{
    $this->assertEquals(7, $this->calc->add(3, 4));
}

setUpBeforeClass() e tearDownAfterClass()

Eseguire il codice una sola volta prima e dopo tutti i test della classe: è utile per operazioni di configurazione costose, come le connessioni al database.

Copertura del codice

Generare un report di copertura (richiede Xdebug o PCOV):

$ vendor/bin/phpunit --coverage-html coverage/

Riepilogo

Installare PHPUnit come dipendenza di sviluppo tramite Composer. Creare una sottoclasse di TestCase con metodi test_*(). Eseguire i test con vendor/bin/phpunit. Usare setUp() per creare gli oggetti condivisi.

Verifica rapida

Da quale classe base devono ereditare le classi di test PHPUnit?

Domande Frequenti

La lezione «Configurazione di PHPUnit e primo test» è gratuita?

Sì — il testo completo di «Configurazione di PHPUnit e primo test» è 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 PHP Academy, passa a CoddyKit PRO. Il corso PHP Academy include 4 lezioni in totale.

Cosa imparerò in «Configurazione di PHPUnit e primo test»?

Installare PHPUnit tramite Composer e scrivere la prima classe di test. Eserciti PHP 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 PHP Academy?

Non è richiesta alcuna esperienza precedente. PHP 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 4.

Quanto tempo richiede la lezione «Configurazione di PHPUnit e primo test»?

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 PHP Academy?

Sì. Ogni lezione PHP 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. Configurazione di PHPUnit e primo test
  2. Asserzioni e metodi di test
  3. Data provider per test parametrizzati
  4. Mock delle dipendenze con PHPUnit
← Torna a PHP Academy