0Pricing
PHP Academy · Lekcja

Konfiguracja PHPUnit i pierwszy test

Zainstaluj PHPUnit przez Composera i napisz swoją pierwszą klasę testową

Konfiguracja PHPUnit i pierwszy test to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.

Czym jest PHPUnit?

PHPUnit to standardowy framework PHP do testów jednostkowych. Umożliwia pisanie automatycznych testów, które w izolacji weryfikują poszczególne jednostki kodu.

Instalowanie PHPUnit

Zainstaluj PHPUnit za pomocą Composer jako zależność deweloperską.

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

Konfiguracja phpunit.xml

Utwórz plik phpunit.xml, aby skonfigurować zestaw testów.

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

Pisanie klasy testowej

Rozszerz klasę PHPUnit\Framework\TestCase. Każda publiczna metoda z prefiksem test jest testem.

<?php
use PHPUnit\Framework\TestCase;

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

Testowana klasa

Klasa Calculator, która jest testowana:

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

Uruchamianie testów

Uruchom PHPUnit z katalogu głównego projektu.

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

Konwencje nazewnictwa testów

Stosuje się dwa style: test_method_name() (snake_case z prefiksem test) albo adnotację @test bez tego prefiksu.

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

Struktura katalogów

Typowy układ: struktura katalogu tests odzwierciedla strukturę src.

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

setUp() i tearDown()

Uruchamiaj kod przed każdą metodą testową i po niej. Użyj setUp(), aby utworzyć testowany obiekt.

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

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

setUpBeforeClass() i tearDownAfterClass()

Uruchamiaj kod raz przed wszystkimi testami w klasie i po nich — jest to przydatne w przypadku kosztownej konfiguracji, takiej jak połączenia z bazą danych.

Pokrycie kodu

Wygeneruj raport pokrycia kodu (wymaga Xdebug lub PCOV):

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

Podsumowanie

Zainstaluj PHPUnit jako zależność deweloperską za pomocą Composer. Utwórz podklasę TestCase z metodami test_*(). Uruchamiaj testy za pomocą vendor/bin/phpunit. Używaj setUp() do współdzielonego tworzenia obiektów.

Szybkie sprawdzenie

Jaką klasę bazową muszą rozszerzać klasy testów PHPUnit?

Często zadawane pytania

Czy lekcja „Konfiguracja PHPUnit i pierwszy test” jest bezpłatna?

Tak — pełny tekst „Konfiguracja PHPUnit i pierwszy test” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Konfiguracja PHPUnit i pierwszy test”?

Zainstaluj PHPUnit przez Composera i napisz swoją pierwszą klasę testową Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć PHP Academy?

Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Konfiguracja PHPUnit i pierwszy test”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?

Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Konfiguracja PHPUnit i pierwszy test
  2. Asercje i metody testowe
  3. Dostawcy danych dla testów parametryzowanych
  4. Mockowanie zależności za pomocą PHPUnit
← Powrót do PHP Academy