Automatizace nasazení: CI/CD s GitHub Actions

Aus MeinWiki
Version vom 21. August 2026, 19:51 Uhr von BlondellMann9 (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Typickou chybou je spoléhat na skutečné API volání nebo na globální store. Takový test je pomalý a náchylný na selhání z důvodu síťových výpa…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Typickou chybou je spoléhat na skutečné API volání nebo na globální store. Takový test je pomalý a náchylný na selhání z důvodu síťových výpadků. Další častou chybou je zapomenout na asynchronní povahu thunku – test skončí dřív, než thunk stihne dokončit. Řešením je použít async/await nebo zpětné volání, které počká na dokončení. V neposlední řadě se vyvarujte testování reducerů přes store – to je integrační test, který nepotřebujete pro pokrytí čisté logiky.

Při nasazování na produkci si dejte pozor na prostředí. Definujte v GitHub Actions prostředí (environments), které mají ochranu, třeba vyžadují schválení od odpovědné osoby. To je užitečné zejména pro produkční nasazení. Rozdělte workflow na dvě části: testování a nasazení. Nejprve spusťte testy na více verzích operačního systému nebo runtime, a teprve pokud vše projde, nasaďte. Pro nasazení použijte matici (matrix) jen pro testy, ne pro produkci.

Postman je jedním z nejrozšířenějších nástrojů pro testování a dokumentaci API. Naučit se s ním pracovat vyžaduje více než jen odeslat pár požadavků – jde o systematický přístup, který vám ušetří hodiny ladění. Následující postupy vycházejí z reálné praxe a zaměřují se na konkrétní činnosti, které využijete při každodenní práci s rozhraními.

Při psaní životopisu a motivačního dopisu se nesoustřeďte na to, co neumíte, ale na to, co jste se naučili a jak jste to aplikovali. Uvádějte konkrétní příklady z vašeho portfolia: „Na testování webové aplikace jsem našel 12 chyb, z toho 5 kritických." Nebojte se zmínit, že používáte nástroje jako jsou vývojářské nástroje v prohlížeči, nebo že umíte založit bug report v systému pro sledování chyb. Typickou chybou začátečníků je uvádět v životopise „základní znalost SQL" nebo „znalost testovacích nástrojů" bez jakékoli konkrétní zkušenosti. Raději než seznam technologií uveďte, jak jste je použili v praxi. Zkuste si také nacvičit odpovědi na otázky týkající se testovacích technik, jako je ekvivalentní rozdělení nebo analýza hraničních hodnot – personalisté je často zkouší.

Jak namockovat asynchronní závislosti a ověřit volání Při testování thunků se často setkáte s nutností ověřit, že akce byly dispatchovány ve správném pořadí. Použijte pole, do kterého zaznamenáváte volání dispatch. Po provedení thunku porovnáte obsah pole s očekávanou sekvencí. Pokud thunk používá getState, vraťte z ní předpřipravený objekt stavu. Vyhněte se testování více thunků najednou – každý test by měl být izolovaný, aby byl snadno identifikovatelný problém.

Testování Redux logiky nemusí vždy znamenat zapojení celé aplikace. Reducery jsou čisté funkce, což je činí ideálními pro jednotkové testy v izolaci. Asynchronní akce (například s Redux Thunk) lze testovat podobně, pokud správně namockujete závislosti. Tento článek ukazuje, jak na to bez spouštění celého integračního prostředí, tedy rychle a spolehlivě.

Další praktická rada: naučte se anglicky číst dokumentaci a psát hlášení. Většina nástrojů a technologií je v angličtině. Zaměřte se na základy SQL (select, join) a alespoň jednoho nástroje pro správu testů (např. open-source řešení). Vyhněte se ale přehnanému množství nástrojů – vyberte si dva tři, které si skutečně osvojíte. Pokud neznáte žádný, začněte s tím, co umíte v Excelu, a postupně přejděte ke specializovaným programům.

Jak se dostat k prvnímu projektu, když nemáte zkušenosti Když máte portfolio, je čas hledat první příležitost. Můžete se zapojit do open-source projektů, kde vývojáři často vítají pomoc s testováním. Stačí si vybrat projekt, který vás zajímá, a podívat se, zda nemá sekci pro hlášení chyb. Začněte s menšími úkoly, jako je reprodukce nahlášeného problému nebo testování nové funkce. Pozor si dejte na to, abyste nejprve prostudovali pokyny projektu a komunikovali s komunitou slušně. Další možností je nabídnout své služby malým firmám nebo živnostníkům, kteří mají webové stránky nebo eshop a nemají vlastní testery. Můžete jim nabídnout jednorázový testovací cyklus za symbolickou odměnu nebo zdarma – hlavně kvůli zkušenosti. Vyhněte se ale práci zcela zadarmo pro velké korporace, které by vaši práci mohly využít bez jakékoli protislužby.

Č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.