Jak správně vrstvit testy, aby nezdržovaly vývoj

From Rikkiepedia
Revision as of 18:19, 21 August 2026 by EMPJake0264 (talk | contribs) (Created page with "Začněte u jednotkových testů. Ty by měly pokrývat všechny klíčové výpočty, validace a rozhodovací logiku. Píšete je ve stejném jazyce jako aplikaci, nejlépe přímo u třídy nebo funkce. Snažte se, aby každý test ověřoval jednu konkrétní věc a nezávisel na databázi, souborech ani síti. Typická chyba je testovat přes HTTP endpoint, když stačí zavolat metodu přímo. Tím testy zpomalíte a znejistíte – pak vám stačí, že se změní...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Začněte u jednotkových testů. Ty by měly pokrývat všechny klíčové výpočty, validace a rozhodovací logiku. Píšete je ve stejném jazyce jako aplikaci, nejlépe přímo u třídy nebo funkce. Snažte se, aby každý test ověřoval jednu konkrétní věc a nezávisel na databázi, souborech ani síti. Typická chyba je testovat přes HTTP endpoint, když stačí zavolat metodu přímo. Tím testy zpomalíte a znejistíte – pak vám stačí, že se změní jeden JSON klíč, a spadne vám deset testů, které přitom ověřují úplně jinou logiku.

Nakonec si s klientem ujasněte, co se stane, když se odhad nenaplní. Nabídněte mu pravidelné krátké reporty o průběhu práce, kdy mu řeknete, kde jste a co zbývá. Tím přebíráte odpovědnost za komunikaci, ale ne za nepředvídatelné události. Pokud se něco pokazí, řešte to věcně: popište důvod, nový odhad a konkrétní kroky, jak se vyhnout dalšímu zpoždění. Klient ocení, když místo omluv dostane plán.

Nejčastější chyby, kterým se vyhnout Jednou z nejčastějších chyb je zapomenutí na hlavičky požadavku. Mnoho API vyžaduje v hlavičce specifikovat formát odpovědi, obvykle Content-Type: application/json. Pokud to neuvedeš, můžeš dostat odpověď ve formátu XML nebo dokonce chybu. Další častou chybou je ignorování rychlostních limitů. Veřejná API mívají omezení na počet dotazů za minutu, takže pokud budeš posílat požadavky příliš rychle, server tě může dočasně zablokovat. Vždy si přečti sekci o limitech a respektuj je.

Testovací pyramida není jen teoretický model, ale praktický nástroj, který vám pomůže udržet náklady na testování pod kontrolou. Základní myšlenka je jednoduchá: čím níže v pyramidě test stojí, tím by ho mělo být více, a naopak. Na dně jsou rychlé a levné jednotkové testy, uprostřed integrační testy a na vrcholu pomalé end-to-end testy. Když tohle rozdělení nedodržíte, skončíte s testy, které běží desítky minut, jsou křehké a při každé změně kódu vyžadují ruční opravy.

Postman patří mezi nejrozšířenější nástroje pro práci s API. Umožňuje posílat požadavky na server, zkoumat odpovědi a celý životní cyklus API dokumentovat. Než začnete, stáhněte si desktopovou aplikaci nebo použijte webovou verzi. Po spuštění vytvořte novou kolekci – ta slouží jako úložiště pro vaše požadavky, proměnné a testy. Kolekce je vhodné pojmenovat podle projektu, aby se v ní vyznali i kolegové.

Jakmile je jednotková vrstva pevná, přejděte na integrační testy. Ty ověřují, že vaše komponenty spolupracují správně – typicky s databází, externími službami nebo frontendem. Zde platí pravidlo: testujte jen to, co jednotkově nejde pokrýt. Například mapování ORM, SQL dotazy nebo synchronizaci mezi moduly. U integračních testů si dejte pozor na stav prostředí. Vždy používejte izolovanou testovací databázi a po každém běhu ji vracejte do původního stavu. Jinak se vám testy navzájem ovlivňují a vy strávíte hodiny hledáním chyby, která je jen artefaktem pořadí testů.

Když se řekne API, mnoho začátečníků si představí něco složitého a nedostupného. Přitom jde o jednoduchý koncept: API je rozhraní, které umožňuje dvěma programům spolu komunikovat. Můžeš si ho představit jako číšníka v restauraci – objednáš jídlo (pošleš požadavek) a on ti donese výsledek (odpověď). Pro první kroky nemusíš mít žádné speciální nástroje, stačí ti prohlížeč a textový editor.

Posledním tipem je začít s malým projektem, jako je jednoduchá aplikace, která zobrazí aktuální teplotu pro zadané město. Postupně přidávej další funkce: ukládání historie, filtrování dat nebo automatické obnovování. Tím si osvojíš práci s API přirozenou cestou a vyhneš se zbytečnému stresu. Neboj se experimentovat a číst chybové hlášky – obsahují užitečné informace, které tě nasměrují k řešení.

Když testy začnete spouštět častěji, oceníte výběr testů podle názvu nebo značky. Pytest umožňuje spouštět jen vybrané soubory, funkce nebo celé adresáře. Lze také vynechat pomalé testy pomocí značek a spouštět je zvlášť. To se hodí, když máte testy, které vyžadují databázi nebo externí služby – ty pak nemusíte pouštět při každé změně kódu, ale jen před nasazením.

Nejlepší způsob, jak začít, je vyzkoušet si veřejné API, které nevyžaduje registraci nebo klíč. Otevři si nástroj pro vývojáře v prohlížeči (klávesa F12) a přejdi do záložky Konzole. Do příkazového řádku napiš příkaz pro získání dat, třeba z API, které poskytuje aktuální čas nebo počasí. Použij metody jako fetch nebo axios – v konzoli prohlížeče funguje bez dalšího nastavení. Po odeslání požadavku uvidíš odpověď ve formátu JSON, což je strukturovaný text, který se snadno čte i zpracovává.