Jump to content

Testování API v Postmanu: co se stane, když využijete proměnné a kolekce

From Babylon SIGNALIS Wiki

Většina vývojářů zná situaci, kdy se kód postupně stává nepřehledným a každá změna trvá čím dál déle. Místo ručního přepisování desítek řádků přitom stačí sáhnout po vestavěných nástrojích integrovaného vývojového prostředí. Tyto funkce, jako je bezpečné přejmenování, extrakce metody nebo změna signatury, umí provést refaktorování za vás a hlavně bez zbytečných chyb.

Při budování pyramidy postupujte postupně. Začněte tím, že zmapujete stávající sadu testů a spočítáte poměr mezi vrstvami. Pak se zaměřte na posílení základny — napište chybějící jednotkové testy pro nejkritičtější logiku. Snižte počet end-to-end scénářů tak, že je převedete na integrační testy (místo proklikávání celého UI testujte jen API a služby). Nezapomeňte na metriky: měřte dobu běhu jednotlivých vrstev a počet flaky testů (testů, které občas selžou). Pokud sledujete tyto ukazatele, máte objektivní základ pro rozhodování — a konečně testy začnou být užitečným nástrojem, ne zdrojem frustrace.

Nejčastější chybou je ale spoléhat se na „najdi a nahraď". Když přejmenováváte proměnnou nebo metodu, IDE sice nabízí i globální náhradu, ale ta ne vždy rozpozná všechny výskyty, zvlášť pokud jde o přetížené metody nebo stejnojmenné proměnné v různých kontextech. Bezpečné přejmenování (obvykle klávesová zkratka jako Shift+F6 nebo F2) projde celý projekt, zkontroluje datové typy a upraví i volání v jiných souborech. Než ale funkci spustíte, zkontrolujte, že máte označený přesně ten prvek, který chcete změnit, a ne jen textový výskyt.

Nakonec si osvojte práci s příkazovým řádkem přes Newman, pokud potřebujete testy spouštět automaticky. Vystačíte si s ním i v prostředí, kde není grafické rozhraní. Stačí exportovat kolekci a prostředí a spustit je pomocí jednoduchého příkazu. Výstup pak získáte v terminálu nebo v přehledném reportu. Tento krok vám otevře cestu k integraci do CI/CD a k pravidelnému testování bez nutnosti otevírat aplikaci.

Pokud se budete držet těchto zásad, zjistíte, že testování API přestane být chaotické. Přestanete lovit chyby v adresách a začnete se věnovat skutečné logice rozhraní. Až narazíte na problém, budete vědět, kde ho hledat a jak ho opravit. To je hlavní přínos, který vám Postman nabídne, pokud ho používáte systematicky.

Základním kamenem je jazyk a nástroje. Pro začátek si vystačíte s Kotlinem, který je modernější a méně ukecaný než Java. Naučte se, jak fungují korutiny pro asynchronní práci a jak vypadá architektura s ViewModelem a LiveData. Nepouštějte se hned do komplikovaných knihoven třetích stran – nejdřív si osvojte čistý Android SDK. Doporučuji psát si vlastní malé projekty, kde si vyzkoušíte práci s RecyclerView, dialogy a životním cyklem. Vyhněte se opisování kódu z tutoriálů bez pochopení – to je nejrychlejší cesta k tomu, že vlastní aplikaci nerozchodíte.

Co si pohlídat při přechodu z ES5 na ES6+? Nejprve si osvojte `let` a `const` místo `var`. `var` má funkční, ne blokový rozsah, což vede k nečekaným hodnotám ve smyčkách nebo podmínkách. Používejte `const` pro hodnoty, které se nemění, a `let` pro proměnné, které měníte. Vyhněte se `var` úplně – i když to vyžaduje změnu návyku, výsledný kód je čitelnější a předvídatelnější. Typická chyba: deklarujete proměnnou uvnitř `if` a pak ji čtete venku – s `var` to projde, ale s `let` dostanete chybu, která vás ochrání před logickou chybou.

Základním krokem je začít u jednotkových testů. Každá třída nebo funkce by měla být pokryta testy, které ověřují logiku izolovaně od okolí. To znamená používat falešné objekty (mocks, stubs) pro databáze, soubory nebo síťové služby. Dbejte na to, aby testy nebyly závislé na pořadí spuštění, na čase ani na náhodných hodnotách. Pokud jednotkový test občas selže bez změny kódu, je to varovný signál — test není deterministický a v pyramidě se chová jako časovaná bomba. Většina testů (60–70 %) by měla patřit právě sem.

Pozor si dejte také na refaktorování v rámci dědičnosti. Když změníte signaturu metody v rodičovské třídě, IDE se zeptá, jestli má upravit i potomky. Mnoho lidí tuto nabídku odklikne bez přemýšlení, ale pokud máte někde metodu, která se volá přes rozhraní nebo dynamicky, může dojít k rozbití kódu. Vždy si projděte seznam změn, který IDE nabídne, a zkontrolujte, že neobsahuje něco neočekávaného.

Častým omylem je také ignorování možnosti náhledu změn. Než potvrdíte jakoukoli větší úpravu, použijte funkci náhledu (obvykle tlačítko „Preview" nebo „Refactor" s možností zobrazit diff). Tím uvidíte přesně, co se změní, a můžete případně zrušit nevhodné úpravy. Tento krok zabere pár vteřin, ale ušetří hodiny hledání chyby v kódu, který se tváří, že funguje, ale ve skutečnosti je jiný, než jste zamýšleli.