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
- Konfiguracja PHPUnit i pierwszy test
- Asercje i metody testowe
- Dostawcy danych dla testów parametryzowanych
- Mockowanie zależności za pomocą PHPUnit