×
Create a new article
Write your page title here:
We currently have 87 articles on Politiball Wiki. Type your article name above or click on one of the titles below and start writing!



Politiball Wiki
87Articles

První unit test bez zbytečného strachu: praktický postup

Revision as of 17:27, 21 August 2026 by JeffersonSteiner (talk | contribs) (Created page with "Jak správně postavit testovací scénář Základ každého unit testu je trojice: připrav, proveď, ověř. V přípravě vytvoříte vstupní data, a to včetně okrajových hodnot – prázdný řetězec, nulu, záporné číslo nebo prázdný seznam. Tyto okrajové případy dělají testy užitečnými, protože právě na nich se logika nejčastěji láme. Při samotném provedení voláte jen testovanou funkci, a to s připravenými daty. Ověření pak porovn...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Jak správně postavit testovací scénář Základ každého unit testu je trojice: připrav, proveď, ověř. V přípravě vytvoříte vstupní data, a to včetně okrajových hodnot – prázdný řetězec, nulu, záporné číslo nebo prázdný seznam. Tyto okrajové případy dělají testy užitečnými, protože právě na nich se logika nejčastěji láme. Při samotném provedení voláte jen testovanou funkci, a to s připravenými daty. Ověření pak porovnává skutečný výsledek s očekávaným. Pozor na to, abyste v jednom testu nekombinovali více kontrol – pokud první kontrola selže, nezjistíte, jestli by prošla druhá.

Dalším krokem je správné označení projektu. Do kořenového adresáře uložte soubor s textem licence (např. LICENSE, COPYING) a do každého zdrojového souboru přidejte hlavičku s copyrightem a odkazem na licenci. To není jen formalita: bez toho nemáte důkaz, že jste autorem, a uživatelé nemusí vědět, za jakých podmínek kód používají. Pokud používáte cizí kód, ověřte, že jeho licence je kompatibilní s vaší. Typická chyba je převzít kód z internetu bez kontroly a pak zjistit, že ho nemůžete šířit pod svou licencí.

Nejprve si rozmyslete, co od licence očekáváte. Permisivní licence (například MIT, BSD, Apache) umožňují komukoli kód použít, upravit a redistribuovat, a to i v proprietárním softwaru. Pokud chcete maximální rozšíření a neřešíte, kdo si váš kód osvojí, je to správná volba. Naopak copyleftové licence (GPL, LGPL, AGPL) vyžadují, aby odvozená díla byla šířena pod stejnou licencí. To chrání svobodu kódu, ale může odradit firmy, které chtějí integrovat váš kus do svého uzavřeného systému.

Samotný pipeline by měl kopírovat logický tok: checkout kódu, instalace závislostí, spuštění testů a nasazení. Pro každý krok definujte jasný název a používejte předpřipravené akce, které řeší typické úlohy. Mějte na paměti, že akce jsou kód třetích stran – jejich verze si zafixujte na konkrétní commit, aby se změny u zdrojového kódu neprojevily neočekávaně. Při instalaci závislostí se vyhněte použití běžného příkazu bez cache; místo toho nastavte caching, který výrazně zkrátí dobu běhu.

Kombinace obou technik a typické chyby Ideální postup je kombinovat Grid a Flexbox tam, kde se hodí. Například hlavní oblast s kartami produktů nadefinujete jako Grid, ale každou kartu uvnitř necháte jako Flexbox, abyste snadno zarovnali popisek, cenu a tlačítko. Velkou chybou je však slepě používat Grid na všechno, včetně malých komponent, kde by stačil Flexbox. Grid pak zbytečně komplikuje kód a ztěžuje jeho údržbu. Pamatujte, že Flexbox je skvělý na rozložení obsahu, Grid na rozložení samotné stránky.

Testování je nedílnou součástí vývoje softwaru, a pokud píšete v Pythonu, pytest je jedním z nejpoužívanějších nástrojů. Jeho hlavní výhoda spočívá v jednoduché syntaxi – testy píšete jako obyčejné funkce, bez nutnosti tříd nebo speciálních dekorátorů. Díky tomu se snadno učí a dobře se čte. V tomto článku si ukážeme, jak začít, na co si dát pozor a jak se vyhnout častým chybám.

Na závěr si osvojte jednoduchou zásadu: když test poprvé spustíte, měl by selhat. Pokud hned projde, pravděpodobně jste ho napsali špatně. Zkuste test spustit s očekávanou chybou, třeba s nulou místo čísla, a sledujte, co se stane. Až test projde, zkuste do funkce úmyslně vložit chybu a ověřte, že test skutečně selže. Tento postup vám potvrdí, že test opravdu testuje to, co má. Psaní prvního unit testu není žádná věda – stačí začít u malé, čisté funkce a postupně si osvojit pravidlo: jeden test, jedna kontrola, jedno očekávání.

Než začnete šířit svůj kód, zastavte se u výběru licence. Není to formalita, ale právní rámec, který určí, co s vaším dílem smí ostatní dělat. Špatná volba může odradit potenciální přispěvatele, nebo naopak umožnit komerční zneužití, které jste nezamýšleli. Základní otázka zní: Chcete, aby vaše knihovna zůstala vždy otevřená, nebo vám nevadí, že ji někdo začlení do uzavřeného produktu?

Nakonec si rozmyslete, jak chcete projekt rozvíjet. Pokud očekáváte příspěvky od komunity, zvolte licenci, kterou znají a které důvěřují (např. MIT nebo GPL). Pokud chcete mít možnost později změnit licenci, vyžaduje to souhlas všech přispěvatelů – proto je dobré si od začátku vyžádat podepsání contributor agreement. Nebo se tomu vyhnete tím, že si vyberete licenci, u níž víte, že ji nebudete chtít měnit. Dobře zvážené rozhodnutí na začátku vám ušetří spoustu nepříjemností ve chvíli, kdy projekt začne být používán ve větším měřítku.

Začněte s Flexboxem pro jednoduché komponenty, jako jsou navigační lišty, tlačítka nebo seznamy ikon. Použijte display: flex a nastavte justify-content: space-between, aby se prvky rovnoměrně rozmístily. Pozor ale na častou chybu: když necháte všechny položky flexboxu bez flex-wrap, na úzkém mobilu se vám obsah přetéká a vznikne vodorovné posouvání. Vždy přidejte flex-wrap: wrap a případně minimální šířku položek, aby se korektně zalamovaly.