Jednotkové a integrační testy: co pokrývá které a proč to nestačí

작성자 Lolita Dasilva
작성일 26-08-29 21:37 | 4 | 0
연락처 DI

본문

Kde rekonstrukce koupelny krok za krokemčátečníci nejčastěji klopýtnou Druhý typický omyl se týká práce s daty. Kontejner je ze své podstaty pomíjivý. Když ho smažete, zmizí i data, která v něm vznikla. Pokud tedy provozujete databázi nebo ukládáte uživatelské soubory, musíte použít svazek (volume) nebo bind mount. Bez toho přijdete o všechno při každém restartu. Zkuste si nejdřív vytvořit jednoduchý kontejner s webovým serverem, připojte k němu lokální složku a ověřte, že soubory zůstávají i po smazání kontejneru.

Základem je obraz a kontejner. Obraz je neměnný šablona, kontejner je běžící instance. Když vytvoříte obraz, měli byste myslet na to, že každá vrstva, kterou přidáte, je trvalá. Nejčastější chyba začátečníků: instalují balíčky nebo kopírují soubory, If you have any thoughts pertaining to the place and how to use Wiki.man-Noir.com, you can call us at our web site. které v další vrstvě smažou, ale výsledný obraz je stále velký a pomalý. Řešení je jednoduché — kombinovat příkazy do jedné vrstvy a mazat dočasné soubory ve stejném kroku.

Co se stane, když integrační testy převáží Pokud začnete psát integrační testy pro každou drobnost, narazíte na tři problémy. První: čas běhu. Sada testů, která trvá desítky minut, se přestane spouštět při každé změně a vývojáři začnou čekat na CI až po pushi. Druhý: flaky testy. Databáze, síť nebo časové limity způsobí, že testy občas selžou bez zjevné příčiny, a tým je začne ignorovat. Třetí: náročnost údržby. Každá změna schématu databáze nebo API vyžaduje úpravu mnoha integračních testů, což zpomaluje osvětlení v obývákuývoj.

Další oblast, kde se dělají chyby, je správa prostředí. Konfigurace pomocí proměnných prostředí je správný směr, ale pozor na to, co do nich vkládáte. Tajné údaje, jako jsou hesla, by neměly být přímo v příkazu ani v souboru, který se verzuje. Použijte soubor .env, který se neukládá do repozitáře, nebo využijte tajemství zabudovaná přímo v Dockeru. Ujistěte se, že soubor s tajemstvími není součástí obrazu — to je častá bezpečnostní díra.

class=Třetí pastí je síťová konfigurace. Docker automaticky vytváří izolované sítě, ale ne všechny porty jsou hned dostupné. Pokud chcete, aby kontejner komunikoval s okolím, musíte explicitně publikovat porty. Bez toho se k aplikaci nedostanete ani z vlastního počítače. Častý nešvar je také spoléhání na IP adresu kontejneru. Ta se může měnit při každém restartu. Místo toho používejte názvy služeb, které Docker rozlišuje v rámci jedné sítě.

Nakonec si osvojte zvyk pravidelně čistit nepoužívané obrazy a kontejnery. Po pár dnech experimentování se vám v systému nahromadí desítky starých vrstev, které zabírají místo. Nezapomínejte ani na mezipaměť, která se vytváří při sestavování. Ověřte si, jak funguje příkaz pro odstranění nepoužívaných dat. Tím se vyhnete situaci, kdy vám brzy dojde místo na disku a celý systém začne zpomalovat. Trpělivost a systematické čtení dokumentace se vyplatí více než rychlé kopírování příkladů z internetu.

Zkuste si sprint na tři týdny, uvidíte rozdíl Základní chybou bývá slepé kopírování dvoutýdenního sprintu z internetu. Každý tým má jinou dynamiku, jinou rychlost a jinou míru nejistoty v zadání. Pro začátek si místo pevného kalendáře nastavte délku sprintu podle velikosti vašich úkolů. Pokud je většina položek hotová za dva dny, vyzkoušejte tři týdny. Pokud se úkoly táhnou, zkraťte sprint na jeden týden. Důležité je, aby tým dokázal na konci dodávat hotový a funkční kus práce, ne aby se honil za termínem.

Základní kostru tvoří čtyři otázky: Co nám pomohlo? Co nás brzdilo? Co příště vyzkoušíme? Co přestaneme dělat? Tento jednoduchý vzorec funguje, protože nutí každého hodnotit konkrétní situace místo obecných pocitů. Pište odpovědi na kartičky nebo do sdíleného dokumentu, ale vždy předem – ať má každý čas si věci promyslet. Během setkání pak pouze kategorizujete podněty a hledáte společné průsečíky. Vyhnete se tím situaci, kdy se diskuse točí kolem jednoho extrovertního člena.

Jaké typy používáte a kde děláte nejčastější chyby Základní typy jako string, number, boolean a pole znáte z JavaScriptu. V TypeScriptu ale přibývá tuple, enum, unknown a never. Začněte s tím, co používáte denně: interface pro objekty, type pro uniony a generické funkce pro práci s poli. Nejčastější chyba začátečníků je použití any na všechno, co neznají. Tím vypnete veškerou ochranu a dostanete se zpět k JavaScriptu. Místo any zkuste unknown a pak hodnotu zúžte pomocí podmínky. Pokud nevíte, jaký typ má být, podívejte se na to, jak data vznikají a jak je konzumujete – typ se z toho dá odvodit.

Když codebase roste, dřív nebo později narazíte na otázku, kolik prostoru věnovat jednotkovým testům a kolik těm integračním. Častý omyl je brát to jako poměr podle počtu řádků kódu. Mnohem užitečnější je dívat se na to, co která vrstva testů skutečně ověřuje. Jednotkový test izoluje jednu třídu nebo funkci a nahrazuje závislosti falešnými objekty. Integrační test naopak propojuje více komponent – typicky databázi, souborový systém nebo externí API – a kontroluje, že spolu fungují.

댓글목록 0

등록된 댓글이 없습니다.