Testování kódu je klíčovou součástí vývoje kvalitního softwaru. Tento tutoriál vám ukáže, jak psát efektivní testy v PHP s pomocí frameworku PHPUnit. Naučíte se psát jednotkové a integrační testy, které vám pomohou odhalit chyby a zajistí stabilitu vaší aplikace.
\n\nNež začneme psát testy, musíme si nainstalovat PHPUnit. Nejjednodušší způsob je pomocí Composeru:
\ncomposer require --dev phpunit/phpunit
\nTento příkaz nainstaluje PHPUnit do vašeho projektu jako vývojovou závislost. Po instalaci najdete spustitelný soubor phpunit
v adresáři vendor/bin
.
Jednotkové testy ověřují funkčnost jednotlivých částí vašeho kódu (funkcí, metod). Zde je příklad jednoduchého jednotkového testu:
\nassertEquals(5, add(2, 3));\n }\n}\n
\nV tomto příkladě testujeme funkci add()
, která má sčítat dvě čísla. Metoda assertEquals()
z frameworku PHPUnit ověřuje, zda je výsledek sčítání roven očekávané hodnotě.
Funkce add()
by vypadala takto:
\nTest spustíte příkazem:
\n./vendor/bin/phpunit
\n\nIntegrační testy ověřují interakci mezi různými částmi vašeho kódu. Například, můžete otestovat, zda vaše aplikace správně ukládá data do databáze.
\nPříklad integračního testu (pro zjednodušení bez databáze):
\nassertEquals('Jmeno', $user->getName());\n $this->assertEquals('Prijmeni', $user->getSurname());\n $this->assertEquals('email@example.com', $user->getEmail());\n }\n}\n
\nTento test ověřuje, zda funkce createUser()
správně vytvoří objekt uživatele s danými údaji.
Funkce createUser()
(pro zjednodušení bez databáze):
name = $name;\n $this->surname = $surname;\n $this->email = $email;\n }\n\n public function getName(): string { return $this->name; }\n public function getSurname(): string { return $this->surname; }\n public function getEmail(): string { return $this->email; }\n}\n\nfunction createUser(string $name, string $surname, string $email): User {\n return new User($name, $surname, $email);\n}\n
\n\nPsaní testů je důležité pro zajištění kvality a stability vašeho kódu. PHPUnit je mocný nástroj, který vám s tím pomůže. Nebojte se experimentovat a psát testy pro všechny důležité části vaší aplikace.
Související návody
Jak používat PDO v PHP: Bezpečný přístup k databázím
Jak používat MySQL v PHP
Jak používat PDO v PHP: Bezpečný přístup k databázím
Komentáře