První kroky s API: praktický průvodce pro začátečníky Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.Anti-spam check. Do not fill this in! Časté chyby, které vás připraví o smysl testů První typická chyba je testování implementace místo chování. Když testujete, že funkce volá jinou funkci s určitými argumenty, svazujete si ruce pro budoucí refaktoring. Test by měl selhat pouze tehdy, když se změní výsledek, ne když se změní vnitřní struktura kódu. Druhá častá chyba je psaní testů, které projdou i bez testované funkce. Typicky jde o testy, které kontrolují jen to, že funkce nevyhodí výjimku, ale nekontrolují návratovou hodnotu. Takový test je k ničemu.<br><br>Při psaní prvního testu se také vyplatí myslet na okrajové případy. Prázdný vstup, nulová hodnota, extrémně velké číslo nebo prázdný řetězec. Tyto případy často odhalí chyby, které běžné použití neukáže. Začněte s jedním šťastným scénářem, ale hned poté přidejte test pro neplatný vstup. Funkce by měla selhat elegantně, ne spadnout s nesrozumitelnou výjimkou. Pokud testujete funkci, která dělí, přidejte test pro dělení nulou. Pokud parsujete text, otestujte prázdný řetězec.<br><br>Při testování IDE si všímejte, jak rychle se otevře a jak reaguje na psaní. Některá prostředí jsou náročná na paměť, což oceníte na výkonném počítači, ale na starším notebooku vás to bude brzdit. Typická chyba: stáhnete si nejpopulárnější nástroj, ale po pár týdnech zjistíte, že vám nevyhovuje jeho vzhled nebo náročnost konfigurace. Místo toho vyzkoušejte tři nebo čtyři různé možnosti a věnujte každé alespoň jeden den. Pracujte na reálném projektu, ne jen na ukázkové úloze, protože teprve tak odhalíte, co vám nástroj usnadňuje a co naopak komplikuje.<br><br>Pozor na rozdíl mezi silným a slabým copyleftem. Silný copyleft (GPL) se vztahuje i na díla, která váš kód pouze propojují. Slabý copyleft (LGPL) umožňuje použití v proprietárním softwaru za předpokladu, že úpravy samotné knihovny zůstanou volné. Tento rozdíl je zásadní zejména pro vývojáře knihoven a frameworků.<br><br>Třetí problém nastává, když test závisí na pořadí provedení nebo na sdíleném stavu. Unit testy musí být izolované a spustitelné v libovolném pořadí. Pokud váš test potřebuje databázi, soubor nebo síť, není to unit test, ale integrační test. Pro začátek se těmto závislostem vyhněte úplně. Pokud testovaná funkce používá čas, náhodu nebo externí službu, naučte se tyto závislosti předávat jako parametry. Tím získáte kontrolu nad vstupem a test bude deterministický.<br><br>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.<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>Nakonec nezapomeňte licenci správně aplikovat – obvykle vložením textu licence do repozitáře a komentáře do hlaviček zdrojových souborů. Aktualizujte ji, pokud se změní podmínky projektu. A vždy si ověřte, zda licence, kterou jste zvolili, je kompatibilní s knihovnami, které sám používáte. Dobrý výběr na začátku ušetří mnoho nepříjemností později.<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>Jak na první požadavek a běžné chyby Pro první pokus zkuste poslat jednoduchý GET požadavek. V jazyce Python to zvládnete s knihovnou requests, v JavaScriptu pak s fetch. Například v Pythonu stačí napsat příkaz, který odešle požadavek a vytiskne odpověď. Důležité je zpracovat odpověď jako JSON – většinou pomocí metody .json(). Ujistěte se, že máte přidělený API klíč, pokud je potřeba, a že ho posíláte v hlavičce, ne v adrese. Častou chybou je zapomenout na limit počtu požadavků – mnoho služeb má omezení, takže pokud testujete ve smyčce, snadno překročíte povolený počet a dostanete blokaci. Summary: Please note that all contributions to Christianpedia may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here. You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Christianpedia:Copyrights for details). Do not submit copyrighted work without permission! Cancel Editing help (opens in new window) Discuss this page