PHP Academy · Lektion

Konfigurera PHPUnit och skriv ditt första test

Installera PHPUnit via Composer och skriv din första testklass.

Lektion 1 av 413 steg

Konfigurera PHPUnit och skriv ditt första test är en gratis lektion i PHP Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för PHP Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i PHP Academy innehåller totalt 4 lektioner.

Vad är PHPUnit?

PHPUnit är PHP:s standardramverk för enhetstester. Det låter Er skriva automatiserade tester som verifierar enskilda kodenheter isolerat.

Installera PHPUnit

Installera det via Composer som ett utvecklingsberoende.

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

Konfiguration av phpunit.xml

Skapa en fil med namnet phpunit.xml för att konfigurera testsviten.

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

Skriva en testklass

Utöka PHPUnit\Framework\TestCase. Varje offentlig metod som börjar med test är ett 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));
    }
}

Klassen som testas

Calculator-klassen som testas:

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

Köra tester

Kör PHPUnit från projektets rotkatalog.

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

Namngivningskonventioner för tester

Det finns två stilar: test_method_name() (snake_case med prefixet test) eller attributet @test utan prefixet.

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

Katalogstruktur

Vanlig struktur: tests speglar src-strukturen.

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

setUp() och tearDown()

Kör kod före och efter varje testmetod. Använd setUp() för att skapa objektet som testas.

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

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

setUpBeforeClass() och tearDownAfterClass()

Kör kod en gång före och efter alla tester i klassen — användbart för kostsam konfigurering, till exempel databasanslutningar.

Kodtäckning

Generera en täckningsrapport (kräver Xdebug eller PCOV):

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

Sammanfattning

Installera PHPUnit som ett Composer-utvecklingsberoende. Skapa en TestCase-underklass med test_*()-metoder. Kör med vendor/bin/phpunit. Använd setUp() för att skapa delade objekt.

Snabb kontroll

Vilken basklass måste PHPUnit-testklasser utöka?

Gratis att börja

Lär dig PHP 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
49
Lektioner
195

Vanliga frågor

Är lektionen ”Konfigurera PHPUnit och skriv ditt första test” gratis?

Ja – hela texten till ”Konfigurera PHPUnit och skriv ditt första test” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i PHP Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i PHP Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Konfigurera PHPUnit och skriv ditt första test”?

Installera PHPUnit via Composer och skriv din första testklass. Ni övar på PHP 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 PHP Academy?

Du behöver inga förkunskaper. Utbildningen i PHP 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 4.

Hur lång tid tar lektionen ”Konfigurera PHPUnit och skriv ditt första test”?

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

Ja. Varje PHP 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. Konfigurera PHPUnit och skriv ditt första test
  2. Påståenden och testmetoder
  3. Data providers för parametriserade tester
  4. Mocka beroenden med PHPUnit
← Tillbaka till PHP Academy