Unit testování v PHP
Petr 'PePa' Pavel
Přes dvacet let se živím jako programátor na volné noze, poslední roky navíc jako lektor / mentor / průvodce životem. Učím jednotlivce i ve firmě (např. Více o lektorovi »
Poznámka k termínu
Kdyby sis chtěl/a počkat na skupinový termín, dej mi vědět. Není problém ho vypsat tak, aby ti to vyhovovalo. Vyjde levněji, ale nebudu se ti moct tolik věnovat.
Máš aplikaci, do které se bojíš sáhnout, protože se vždycky někde něco podělá a přijde na to až zákazník? Hodiny ručně testuješ, proklikáš ji skrz naskrz a stejně ti něco uteče?
Není možné ručně vyzkoušet všechny kombinace, a proto u složitých aplikací potřebuješ automatizované testy. Unit testy jsou jejich součástí a nejsou žádná věda. Jsou to malé programy volající jednotlivé části hlavního programu s parametry, které dobře prověří jeho funkčnost.
Co se dozvíš
- jak mají dobré unit testy vypadat
- jak testovat objekty se závislostmi - mockováním a refaktorováním
- ukážeme si knihovnu PHPUnit
- jak integrovat testy do IDE, abys je mohl(a) spouštět často
i jak je spustit pomocí PHP CLI z příkazové řádky (třeba kvůli automatizovaném deploymentu) - jak pomocí reflexí testovat privátní metody
- jak při testu přeskočit některé metody jejich překrytím / testováním přes mock
- jak měřit a vidět pokrytí testy pomocí PhpStorm / Run with Coverage
Ale hlavně - testování změní tvůj pohled na to, jak psát kód. Začneš programovat tak, aby tvoje aplikace byly snadno testovatelné a už tím bude tvůj kód čistší a chyby zřetelnější.
Co potřebuješ umět?
Obvykle se testují složitější aplikace postavené objektově. Nic ti ale nebrání naučit se testovat, i když ještě vaříš špagety :-) Aspoň přeskočíš obvyklé začátečnické chyby a ušetříš si spoustu času a frustrací.
Máš aplikaci, do které potřebuješ unit testy dopsat? Výborně, tím líp.
Co potřebuješ mít s sebou?
Můžeš přijít s prázdnýma rukama a ukazovat si budeme na mých testech. Nebo dodáš vlastní aplikaci a budeme konkrétnější. Na tvém nebo mém počítači.
Kdy a kde se kurz koná?
Můžeme se sejít, kdy se ti to bude hodit, v okolí Jiřího z Poděbrad, třeba v pracovna.cz nebo u mě doma. Klidně s sebou vezmi kamaráda nebo kolegu. Kdybys chtěl(a), abych přišel k tobě do firmy, dej vědět, domluvíme se. Nebo mi nasdílíš obrazovku a sfoukneme to na dálku přes Skype nebo něco jiného.
English version
Do you find it more and more difficult to make changes to your application? Does always something break without you noticing? Then you need automated testing - unit testing to begin with. I'll show you how to run test from the command line, how to use PHPUnit and integrate it into your IDE, how to test private methods and more.
We can either meet in person or you can share your screen with me and we can do it remotely. Bring a friend if you want. Sign up and bring your programming to the next level.
Víš, že Petr vede také tyto kurzy?
- Programování pro web (PHP/JS/SQL) - Individuální
- Profesionální ladění v PHP - Individuální
- Anglická konverzace na čerstvém vzduchu - Individuální
- Kucháme vnitřnosti webových stránek - Individuální
- Zbav se ostychu - vědomá práce s emocemi - Individuální
- Objektové programování v PHP - Individuální
- Vím, co chci - workshop - Individuální
- Prokrastinace - Individuální
- Zbav se ostychu - cvičení - Individuální
- Snídaně o webech a lidech - Individuální
Odpovídáš či reaguješ na tento komentář: