Jak začít s testováním v Pythonu pomocí pytest: Różnice pomiędzy wersjami

Z Mazovia
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…"
 
mNie podano opisu zmian
 
(Nie pokazano 1 wersji utworzonej przez jednego użytkownika)
Linia 1: Linia 1:
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.<br><br>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.<br><br>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ů.<br><br>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.<br><br>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.<br><br>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.<br><br>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.<br><br>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.<br><br>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í.<br><br>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.
Jak převést návrh do funkčního kódu bez zbytečných chyb Při implementaci designu se nejčastěji chybuje v detailech, které na první pohled nevypadají důležité. Například ignorování stavů prvků: hover, focus, active, disabled. Uživatelé s klávesnicí nebo čtečkou obrazovky potřebují viditelný focus. Proto vždy nastavte viditelný outline pro klávesové ovládání, a to nejen v CSS, ale i v JavaScriptu – pokud nějaký prvek dynamicky přidáváte, nezapomeňte mu nastavit příslušné ARIA atributy. Dále si hlídejte velikost cílových oblastí tlačítka by měla mít minimálně 44×44 pixelů, aby se na ně dobře trefilo prstem na dotykovém zařízení. Kontrolujte také kontrast textu vůči pozadí; WCAG doporučuje poměr alespoň 4,5:1 pro běžný text.<br><br>Verzování je disciplína, kterou řada webových vývojářů zpočátku podceňuje. Často začínají ukládat soubory do složek jako „final_v2" nebo „opraveno_final3". Tento přístup ale rychle vede k chaosu, ztrátě práce a neschopnosti vrátit se k funkční verzi. Místo toho se vyplatí osvojit si systém, který sleduje změny v kódu, umožňuje návrat a usnadňuje týmovou spolupráci. Tento článek vás provede základy verzování s důrazem na praktické kroky a časté chyby.<br><br>Nejprve je potřeba pytest nainstalovat. To provedete příkazem pip install pytest v terminálu. Po instalaci vytvořte soubor s názvem test_example.py. Název musí začínat nebo končit slovem test, aby pytest soubor automaticky našel. V tomto souboru definujte funkce, jejichž názvy také začínají test_. Uvnitř funkcí použijte běžné assert pro ověření výsledku. Pytest pak spustíte příkazem pytest v adresáři s testem.<br><br>Dalším častým problémem je ignorování mezer a odstupů. Návrháři používají systém mezer (často v násobcích základní jednotky, třeba 4px), aby vytvořili rytmus a oddělili logické celky. Když mezery nahradíte univerzálním paddingem nebo marginem podle toho, co zrovna vypadá dobře, rozbijete celou vizuální rovnováhu. Naučte se číst designové specifikace – v nich najdete přesné hodnoty odsazení, velikostí a barev. Pokud taková specifikace chybí, zeptejte se designéra, jaký systém používá. Je to rychlejší, než hádat a poté předělávat polovinu komponent.<br><br>Základní pracovní postup: commit, branch, merge Jádrem verzování jsou tři operace: commit, branch a merge. Commit je uložení aktuálního stavu s popisem změny. Každý commit by měl být malý a logicky ucelený ideálně jedna oprava nebo jedna funkce. Branch (větev) vám umožní oddělit experimentální práci od stabilní verze. Merge pak sloučí změny zpět. Pro začátek si osvojte tento rituál: před každou změnou si vytvořte novou větev, udělejte několik commitů s jasnými zprávami (např. „oprava responzivního menu"), a poté větev slučte. Nepoužívejte větve na všechno, ale jen na větší úkoly.<br><br>Prvním krokem je nastavit prostředí, ve kterém se váš kód sestaví. Použijte předpřipravené akce, jako je checkout pro získání zdrojového kódu a setup-node, pokud pracujete s JavaScriptem. Důležité je pinout verze akcí na konkrétní commit nebo tag, jinak se vám může stát, že se pipeline náhle rozbije kvůli změnám v externí akci. Místo pouhého uvedení názvu akce použijte přesnou verzi, kterou jste testovali. To je častý zdroj chyb, který se projeví až po čase.<br><br>Pozor také na přístupnost, kterou vývojáři často podceňují. Nejde jen o povinnost, ale o praktickou funkčnost. Uživatelé se zhoršeným zrakem, pohybovým postižením nebo jen s modrým filtrem na obrazovce ocení, když dodržíte kontrastní poměry, nastavíte správné alt texty u obrázků a umožníte ovládání klávesnicí. Typická chyba? Spoléháte na to, že stačí barevně odlišit tlačítko, ale ignorujete, že barevně slepý uživatel nerozpozná, že je aktivní. Přidejte ikonu nebo textovou změnu kromě barvy, a problém je vyřešen.<br><br>Na závěr si zapamatujte, že UI/UX není jen práce designéra. Je to společný jazyk, kterým mluvíte s týmem, ale i s uživatelem, pro kterého produkt tvoříte. Když při kódování přemýšlíte o tom, proč je prvek tam, kde je, a jak se uživatel dostane k cíli, stáváte se lepším vývojářem i partnerem v týmu. Začněte malými kroky proveďte si audit stávajícího kódu, najděte nekonzistence a navrhněte opravu. Taková snaha se vyplatí nejen na projektu, ale i v rozvoji vašich vlastních dovedností.<br><br>Praktickým krokem je vytvořit si vlastní sadu UI komponent, které sdílejí stejné stavy a chování. Použijte design tokens proměnné pro barvy, typografii, mezery. Tyto tokeny pak používejte v celém projektu. Pokud designér změní primární barvu, stačí změnit jednu proměnnou a vše se aktualizuje. Pro vývojáře to znamená méně času na ladění a větší konzistenci napříč obrazovkami. Zároveň si zvykněte na responzivní design: testujte na malých displejích, nejen v desktopovém prohlížeči. Ujistěte se, že se prvky nepřekrývají a že se dá vše ovládat i bez myši.

Aktualna wersja na dzień 18:57, 21 sie 2026

Jak převést návrh do funkčního kódu bez zbytečných chyb Při implementaci designu se nejčastěji chybuje v detailech, které na první pohled nevypadají důležité. Například ignorování stavů prvků: hover, focus, active, disabled. Uživatelé s klávesnicí nebo čtečkou obrazovky potřebují viditelný focus. Proto vždy nastavte viditelný outline pro klávesové ovládání, a to nejen v CSS, ale i v JavaScriptu – pokud nějaký prvek dynamicky přidáváte, nezapomeňte mu nastavit příslušné ARIA atributy. Dále si hlídejte velikost cílových oblastí – tlačítka by měla mít minimálně 44×44 pixelů, aby se na ně dobře trefilo prstem na dotykovém zařízení. Kontrolujte také kontrast textu vůči pozadí; WCAG doporučuje poměr alespoň 4,5:1 pro běžný text.

Verzování je disciplína, kterou řada webových vývojářů zpočátku podceňuje. Často začínají ukládat soubory do složek jako „final_v2" nebo „opraveno_final3". Tento přístup ale rychle vede k chaosu, ztrátě práce a neschopnosti vrátit se k funkční verzi. Místo toho se vyplatí osvojit si systém, který sleduje změny v kódu, umožňuje návrat a usnadňuje týmovou spolupráci. Tento článek vás provede základy verzování s důrazem na praktické kroky a časté chyby.

Nejprve je potřeba pytest nainstalovat. To provedete příkazem pip install pytest v terminálu. Po instalaci vytvořte soubor s názvem test_example.py. Název musí začínat nebo končit slovem test, aby pytest soubor automaticky našel. V tomto souboru definujte funkce, jejichž názvy také začínají test_. Uvnitř funkcí použijte běžné assert pro ověření výsledku. Pytest pak spustíte příkazem pytest v adresáři s testem.

Dalším častým problémem je ignorování mezer a odstupů. Návrháři používají systém mezer (často v násobcích základní jednotky, třeba 4px), aby vytvořili rytmus a oddělili logické celky. Když mezery nahradíte univerzálním paddingem nebo marginem podle toho, co zrovna vypadá dobře, rozbijete celou vizuální rovnováhu. Naučte se číst designové specifikace – v nich najdete přesné hodnoty odsazení, velikostí a barev. Pokud taková specifikace chybí, zeptejte se designéra, jaký systém používá. Je to rychlejší, než hádat a poté předělávat polovinu komponent.

Základní pracovní postup: commit, branch, merge Jádrem verzování jsou tři operace: commit, branch a merge. Commit je uložení aktuálního stavu s popisem změny. Každý commit by měl být malý a logicky ucelený – ideálně jedna oprava nebo jedna funkce. Branch (větev) vám umožní oddělit experimentální práci od stabilní verze. Merge pak sloučí změny zpět. Pro začátek si osvojte tento rituál: před každou změnou si vytvořte novou větev, udělejte několik commitů s jasnými zprávami (např. „oprava responzivního menu"), a poté větev slučte. Nepoužívejte větve na všechno, ale jen na větší úkoly.

Prvním krokem je nastavit prostředí, ve kterém se váš kód sestaví. Použijte předpřipravené akce, jako je checkout pro získání zdrojového kódu a setup-node, pokud pracujete s JavaScriptem. Důležité je pinout verze akcí na konkrétní commit nebo tag, jinak se vám může stát, že se pipeline náhle rozbije kvůli změnám v externí akci. Místo pouhého uvedení názvu akce použijte přesnou verzi, kterou jste testovali. To je častý zdroj chyb, který se projeví až po čase.

Pozor také na přístupnost, kterou vývojáři často podceňují. Nejde jen o povinnost, ale o praktickou funkčnost. Uživatelé se zhoršeným zrakem, pohybovým postižením nebo jen s modrým filtrem na obrazovce ocení, když dodržíte kontrastní poměry, nastavíte správné alt texty u obrázků a umožníte ovládání klávesnicí. Typická chyba? Spoléháte na to, že stačí barevně odlišit tlačítko, ale ignorujete, že barevně slepý uživatel nerozpozná, že je aktivní. Přidejte ikonu nebo textovou změnu kromě barvy, a problém je vyřešen.

Na závěr si zapamatujte, že UI/UX není jen práce designéra. Je to společný jazyk, kterým mluvíte s týmem, ale i s uživatelem, pro kterého produkt tvoříte. Když při kódování přemýšlíte o tom, proč je prvek tam, kde je, a jak se uživatel dostane k cíli, stáváte se lepším vývojářem i partnerem v týmu. Začněte malými kroky – proveďte si audit stávajícího kódu, najděte nekonzistence a navrhněte opravu. Taková snaha se vyplatí nejen na projektu, ale i v rozvoji vašich vlastních dovedností.

Praktickým krokem je vytvořit si vlastní sadu UI komponent, které sdílejí stejné stavy a chování. Použijte design tokens – proměnné pro barvy, typografii, mezery. Tyto tokeny pak používejte v celém projektu. Pokud designér změní primární barvu, stačí změnit jednu proměnnou a vše se aktualizuje. Pro vývojáře to znamená méně času na ladění a větší konzistenci napříč obrazovkami. Zároveň si zvykněte na responzivní design: testujte na malých displejích, nejen v desktopovém prohlížeči. Ujistěte se, že se prvky nepřekrývají a že se dá vše ovládat i bez myši.