Jak začít s testováním v Pythonu pomocí pytest

Z Mazovia
Wersja z dnia 18:51, 21 sie 2026 autorstwa OrvilleDane8360 (dyskusja | edycje) (Utworzono nową stronę "Pokud jde o strukturu projektu, neházejte všechno do jednoho souboru. Rozdělte kód na moduly – oddělte routes, controllers a služby pro práci s daty. Tím získáte přehlednost a usnadníte si testování. Pro menší API stačí i tři soubory, ale pro větší projekty je dobré zavést složkovou strukturu. Důležité je taky myslet na CORS – pokud vaše API budou volat prohlížeče z jiné domény, musíte povolit příslušné hlavičky, jinak po…")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Pokud jde o strukturu projektu, neházejte všechno do jednoho souboru. Rozdělte kód na moduly – oddělte routes, controllers a služby pro práci s daty. Tím získáte přehlednost a usnadníte si testování. Pro menší API stačí i tři soubory, ale pro větší projekty je dobré zavést složkovou strukturu. Důležité je taky myslet na CORS – pokud vaše API budou volat prohlížeče z jiné domény, musíte povolit příslušné hlavičky, jinak požadavky skončí chybou.

Když se řekne REST API v Node.js, většina vývojářů sáhne po frameworku Express. Není to náhoda – Express je minimalistický, dobře zdokumentovaný a díky své flexibilitě vám umožní postavit API přesně podle potřeb. Než ale začnete psát první endpoint, ujasněte si, co vlastně chcete, aby vaše API dělalo. Bez jasné definice zdrojů a jejich vztahů snadno skončíte u nepřehledného kódu, který se bude těžko udržovat.

Další pastí je zapomínání na okolní prostředí – skript, který běží na Windows, může selhat na Linuxu kvůli odlišným oddělovačům cest. Používejte funkce z `pathlib.Path`, které jsou multiplatformní, a testujte skript na více zařízeních, pokud to je možné. Důležité je také verzování – i jednoduchý skript uložte do Gitu, abyste se mohli vrátit k předchozí funkční verzi, když něco rozbijete. Tento návyk se vám vyplatí u všech projektů.

Když přijde na responzivní design, většina vývojářů sáhne po CSS Gridu nebo Flexboxu. Oba nástroje mají své silné stránky, ale jejich kombinace může být matoucí, pokud nevíte, kdy který použít. Základní pravidlo je jednoduché: Grid je ideální pro celkovou strukturu stránky, zatímco Flexbox se hodí pro rozmístění prvků v jednom řádku nebo sloupci. Tento článek vám ukáže, jak na to bez zbytečných obav.

Nejdůležitější je mít funkční portfolio. Místo pěti rozpracovaných projektů raději tři hotové, které běží, mají čistý kód a jsou zdokumentované. Publikujte je na veřejném repozitáři a připojte krátký popis, jakou jste řešili výzvu a co jste se naučili. Personalisti i techničtí lídři si všímají toho, jestli umíte dotáhnout práci do konce. Chyba je posílat životopis bez odkazů nebo s odkazy na nefunkční stránky.

Při psaní testů se vyvarujte častých chyb. První je testování více věcí v jedné funkci – pokud test selže, nevíte přesně, která část je rozbitá. Rozdělte test na menší celky. Druhou častou chybou je spoléhání se na pořadí testů nebo na sdílený stav mezi testy. Testy by měly být izolované, aby je bylo možné spouštět v libovolném pořadí. Třetí chybou je ignorování výjimek – pokud funkce očekává vyhození výjimky, použijte pytest.raises a ověřte, že k tomu skutečně dojde. Bez toho test neodhalí chybu.

Na závěr si osvojte práci s příkazy příkazové řádky. Při spuštění pytest -v získáte podrobnější výstup o každém testu, pytest -k umožní spustit pouze testy odpovídající zadanému výrazu a pytest --maxfail=1 zastaví běh po prvním selhání. Tyto nástroje vám ušetří čas při ladění. Testování není zbytečná práce – je to investice, která se vám vrátí v podobě stabilnějšího kódu a jistoty při změnách. Začněte s malými testy na jednoduchých funkcích a postupně přidávejte složitější scénáře.

Jak se vyhnout častým chybám při psaní skriptů Nejčastější chybou začátečníků je tvrdé zakódování cest k souborům. Pokud použijete absolutní cestu, skript bude fungovat pouze na vašem počítači. Místo toho použijte relativní cesty nebo proměnné, které umožní skript spustit kdekoli. Druhým problémem je ignorování výjimek – soubor nemusí existovat, síť může být nedostupná, vstup nemusí odpovídat očekávání. Vždy obalte rizikové operace do bloku `try/except` a na chyby reagujte srozumitelnou hláškou.

Příprava na pohovor: co se skutečně ptají Na pohovoru se vás nebudou ptát na definice z učebnice, ale na konkrétní situace. Typická otázka zní: „Popište, jak byste navrhli aplikaci pro správu úkolů." Ukažte, že umíte přemýšlet v souvislostech – rozdělte problém na menší části, zmiňte databázi, API a uživatelské rozhraní. Když nevíte přesnou odpověď, řekněte, jak byste postupovali, abyste ji našli. Nikdy neříkejte „nevím" bez dalšího vysvětlení.

Při práci s externími službami, jako je stahování webových stránek, používejte knihovny `requests` a `BeautifulSoup`. Dejte si pozor na limity – mnoho webů omezuje počet požadavků, takže do skriptu vložte pauzy (např. `time.sleep()`) a respektujte soubor `robots.txt`. Automatizace by nikdy neměla narušovat fungování cizích serverů. Podobně u tabulek využijte `pandas`, ale pamatujte, že paměťová náročnost roste s velikostí dat – pro malé soubory stačí `csv` modul.