PHP Academy · Lektion

Opsætning af PHPUnit og den første test

Installér PHPUnit via Composer, og skriv Deres første testklasse.

Lektion 1 af 413 trin

Opsætning af PHPUnit og den første test er en gratis PHP Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i PHP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. PHP Academy-kurset indeholder 4 lektioner i alt.

Hvad er PHPUnit?

PHPUnit er PHP's standardrammeværk til enhedstest. Det giver dig mulighed for at skrive automatiserede tests, der verificerer individuelle kodenheder isoleret.

Installation af PHPUnit

Installér PHPUnit via Composer som en udviklingsafhængighed.

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

Konfiguration af phpunit.xml

Opret en phpunit.xml-fil for at konfigurere testsuiten.

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

Skrivning af en testklasse

Udvid PHPUnit\Framework\TestCase. Hver offentlig metode med præfikset test er en 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 under test

Calculator-klassen, der testes:

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

Kørsel af tests

Kør PHPUnit fra projektroden.

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

Navngivningskonventioner for tests

To stilarter: test_method_name() (snake_case med præfikset test) eller brug @test-annotationen uden præfikset.

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

Mappestruktur

Almindelig struktur: testmappen afspejler src-strukturen.

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

setUp() og tearDown()

Kør kode før og efter hver testmetode. Brug setUp() til at oprette objektet under test.

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

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

setUpBeforeClass() og tearDownAfterClass()

Kør kode én gang før og efter alle tests i klassen – nyttigt til dyr opsætning som databaseforbindelser.

Kodedækning

Generér en rapport over kodedækningen (kræver Xdebug eller PCOV):

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

Opsummering

Installér PHPUnit som en udviklingsafhængighed via Composer. Opret en underklasse af TestCase med test_*()-metoder. Kør med vendor/bin/phpunit. Brug setUp() til fælles oprettelse af objekter.

Hurtigt tjek

Hvilken basisklasse skal PHPUnit-testklasser udvide?

Gratis at komme i gang

Lær PHP med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
49
Lektioner
195

Ofte stillede spørgsmål

Er lektionen “Opsætning af PHPUnit og den første test” gratis?

Ja — hele teksten til “Opsætning af PHPUnit og den første test” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af PHP Academy-kurset, skal du opgradere til CoddyKit PRO. PHP Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Opsætning af PHPUnit og den første test”?

Installér PHPUnit via Composer, og skriv Deres første testklasse. Du øver dig i PHP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på PHP Academy?

Der kræves ingen tidligere erfaring. PHP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Opsætning af PHPUnit og den første test”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne PHP Academy-lektion?

Ja. Alle PHP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Opsætning af PHPUnit og den første test
  2. Assertions og testmetoder
  3. Data providers til parametriserede tests
  4. Mocking af afhængigheder med PHPUnit
← Tilbage til PHP Academy