5 kroků, jak otestovat aplikaci s V a odhalit chyby dřív

Z Mazovia


V záložce se zdroji nastavte breakpoint na řádek, kde tušíte problém. Prohlížeč zastaví běh a ukáže hodnoty všech proměnných v daném rozsahu. Krokováním po řádcích zjistíte, kde se hodnota rozchází s očekáváním. U asynchronního kódu dávejte pozor, úložné prostory v malém bytě kam se provádění po pauze vrátí —await a callbacky přeskakují mezi kontexty a snadno se ztratíte. Podmíněný breakpoint se hodí ve smyčce, kdy vás zajímá jen konkrétní index.

Signály, že sada potřebuje revizi, jsou konkrétní. Testy začnou být závislé na pořadí spouštění. Některé procházejí jen na vývojářském stroji, ale v CI padají. Opakovaně se objevují testy, které se „občas" zaseknou, a někdo je prostě restartuje. To nejsou náhodné chyby, to je strukturální problém. V takové chvíli je potřeba zastavit se a udělat inventuru. Ne přes víkend, ale jako běžnou součást práce na dvě až tři iterace.

Knihovny řeší většinu práce, ale ne všechny Pro soubory a složky používejte cestu a knihovnu pro práci s cestami, ne skládání řetězců ručně. Pro tabulky se hodí knihovna na čtení a zápis sešitů. Pro stahování stránek existuje knihovna pro HTTP požadavky a pro vytáhnutí dat z HTML nástroj na parsování. První chyba začátečníků je, že chtějí všechno napsat sami od nuly. Druhá je opačná: nainstalují deset knihoven a nevědí, která co dělá. Držte se pravidla jedné knihovny na jednu úlohu a než ji použijete, přečtěte si alespoň základní dokumentaci.

Testování aplikace, která komunikuje s modulem V, není jen o klikání na tlačítka. V je jazyk, který se kompiluje do nativního kódu, a proto se chyby často projeví až za běhu. Základem je oddělit logiku od volání systému. Vše, co sahá na soubory, síť nebo čas, obalte tenkou vrstvou a v testech ji nahraďte atrapou. V jazyce V k tomu slouží interface: definujte rozhraní s metodami, které potřebujete, a v produkci použijte skutečnou implementaci, v testech falešnou. Bez tohoto kroku budete testovat závislosti místo svého kódu.

Začátky s API často vypadají jako něco, co patří jen programátorům. Ve skutečnosti stačí pochopit dva pojmy: endpoint a klíč. Endpoint je adresa, na kterou posíláte dotaz. Klíč je vaše identifikace, aby server věděl, kdo data žádá. Bez klíče vás většina veřejných API odmítne, i když jsou jinak zdarma. První krok tedy není psaní kódu, ale zjištění, jestli daná služba API vůbec nabízí a za jakých podmínek.

Druhým krokem je psaní testů přímo v jazyce V. Testovací soubory mají koncovku _test.v a funkce začínají test_. Spouštějí se příkazem v test nebo v -stats test. Pozor na dvě časté chyby: testovací funkce nesmí mít návratový typ a nesmí přijímat parametry. Pokud je omylem označíte jako běžné funkce, testovací běh je přeskočí a vy si budete myslet, že je vše v pořádku. Do testů pište i očekávané chyby pomocí if a porovnání návratové hodnoty, protože V nemá výjimky.

Typická past je spouštět skript tam, kde nejsou potřeba práva, nebo naopak tam, kde je potřeba přístup k systémovým složkám. Cesty pište relativně úložné prostory v malém bytěůči umístění skriptu, ne vůči tomu, odkud jste ho spustili. Jinak se skript rozbije, jakmile ho přesunete nebo naplánujete. Stejně tak nikdy netvrďte, že skript funguje, dokud ho nespustíte dvakrát po sobě – podruhé už mohou existovat výstupní soubory a program spadne na konfliktu názvů.

Python se pro automatizaci používá proto, že se v něm dá napsat funkční skript během chvíle. Jenže začátečníci často skončí u teorie a nikdy nedokončí první opravdový úkol. Nejrychlejší cesta je obrátit postup: vyberte si jednu konkrétní nudnou činnost, kterou děláte ručně, a zkuste ji zautomatizovat. Ať už jde o přejmenování souborů, kopírování dat mezi tabulkami nebo stahování několika stránek, cíl musí být jasný a měřitelný. Bez konkrétního zadání se učení rozpadne na sledování videí bez výsledku.

Základem je rozdělit testy podle rychlosti a účelu. Unit testy by měly běžet v řádu sekund až minut a neměly by sahat na databázi ani síť. Integrační testy potřebují služby, ale můžete je spouštět v kontejnerech vedle pipeline. End-to-end testy nechte na noční běh nebo na merge do hlavní větve. Typická chyba je míchat všechny vrstvy do jednoho jobu. Výsledkem je pipeline, která běží půl hodiny, padá na náhodných chybách a vývojáři ji začnou ignorovat.

Poslední krok je naplánovat spuštění. Ruční spouštění je fajn na vývoj, ale automatizace začíná až tehdy, když skript běží bez vás. Naučte se základy plánovače úloh ve vašem systému a nastavte skript tak, aby se spouštěl v době, kdy nic neblokuje. Před nasazením ho nechte běžet několik dní a sledujte osvětlení v obývákuýstupy. Většina problémů se projeví až při opakovaném běhu, ne při prvním testu.

If you have any queries about where by and how to use http://crativ.co.Kr, you can speak to us at the web site.