<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://wiki.gorearaucania.cl/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Odhad_%C4%8Dasu_bez_opomenut%C3%AD_skryt%C3%A9_pr%C3%A1ce</id>
	<title>Odhad času bez opomenutí skryté práce - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.gorearaucania.cl/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Odhad_%C4%8Dasu_bez_opomenut%C3%AD_skryt%C3%A9_pr%C3%A1ce"/>
	<link rel="alternate" type="text/html" href="https://wiki.gorearaucania.cl/mediawiki/index.php?title=Odhad_%C4%8Dasu_bez_opomenut%C3%AD_skryt%C3%A9_pr%C3%A1ce&amp;action=history"/>
	<updated>2026-08-22T13:08:58Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://wiki.gorearaucania.cl/mediawiki/index.php?title=Odhad_%C4%8Dasu_bez_opomenut%C3%AD_skryt%C3%A9_pr%C3%A1ce&amp;diff=121865&amp;oldid=prev</id>
		<title>CharlesOdonnell: Página creada con «Na závěr – testujte. Není nutné psát stovky testů, ale pokryjte alespoň hlavní endpointy a ošetření chyb. K tomu se hodí nástroje jako Supertest, které vám umožní simulovat HTTP požadavky bez spuštění serveru. Pozor si dejte na time-outy u asynchronních operací a na správné ukončení serveru po testech, jinak se vám procesy zablokují. S trochou disciplíny a dodržováním těchto zásad bude vaše REST API stabilní a snadno rozšiřitel…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.gorearaucania.cl/mediawiki/index.php?title=Odhad_%C4%8Dasu_bez_opomenut%C3%AD_skryt%C3%A9_pr%C3%A1ce&amp;diff=121865&amp;oldid=prev"/>
		<updated>2026-08-21T18:14:25Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «Na závěr – testujte. Není nutné psát stovky testů, ale pokryjte alespoň hlavní endpointy a ošetření chyb. K tomu se hodí nástroje jako Supertest, které vám umožní simulovat HTTP požadavky bez spuštění serveru. Pozor si dejte na time-outy u asynchronních operací a na správné ukončení serveru po testech, jinak se vám procesy zablokují. S trochou disciplíny a dodržováním těchto zásad bude vaše REST API stabilní a snadno rozšiřitel…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Na závěr – testujte. Není nutné psát stovky testů, ale pokryjte alespoň hlavní endpointy a ošetření chyb. K tomu se hodí nástroje jako Supertest, které vám umožní simulovat HTTP požadavky bez spuštění serveru. Pozor si dejte na time-outy u asynchronních operací a na správné ukončení serveru po testech, jinak se vám procesy zablokují. S trochou disciplíny a dodržováním těchto zásad bude vaše REST API stabilní a snadno rozšiřitelné.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při testování async akcí se vyhněte skutečným HTTP voláním. Místo toho použijte mock funkce, které vrací předem definovaná data. Tím zajistíte, že testy nejsou závislé na síti nebo stavu serveru. Dbejte na to, aby mocknuté odpovědi měly stejný tvar jako reálná data, jinak testy projdou, ale v produkci selžou při mapování odpovědi. Také testujte chybové stavy: jak se reducer chová, když API vrátí chybu, a zda async akce dispatchuje správnou akci pro chybu (např. fetchFailure).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;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ě.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když nasadíte měření, buďte opatrní na falešně pozitivní výsledky. Testy, které jen spustí kód bez ověření výstupu, uměle zvyšují pokrytí. Kontrolujte, že každý test obsahuje aserce (např. assertEquals). Bez nich je pokrytí k ničemu. Doporučuji také měřit pokrytí během CI, nikoli jen lokálně, aby bylo číslo standardizované. Typická chyba začátečníků je měřit pokrytí až po proběhnutí všech testů, ale to neukáže, co se stane při selhání. Ideální je měřit pokrytí po každém testu zvlášť a agregovat výsledky podle potřeb.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejprve si vytvořte seznam všech činností, které s úkolem souvisí, i když se nezdají být důležité. Rozdělte si práci na fáze – příprava, implementace, kontrola, nasazení. Ke každé fázi si zapište nejen hlavní úkol, ale i vedlejší aktivity: komunikaci s kolegy, koordinaci s jiným týmem, čtení dokumentace, hledání chyb, psaní testů, aktualizaci CI. Čím konkrétnější seznam, tím lépe.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nezapomínejte na údržbu. Testy, které se neudržují, se stávají zbytečnou zátěží. Proto při psaní nového kódu vždy zkontrolujte, zda existuje test, který pokrývá danou funkcionalitu. Pokud ne, přidejte jej. Pokud ano, upravte jej tak, aby odpovídal novému chování. Vyhnete se tak situaci, kdy testy „lžou&amp;quot; – procházejí, i když kód je rozbitý.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základní pravidlo je jednoduché: pište jednotkové testy pro logiku, která má jasné vstupy a výstupy, a integrační testy pro kritické cesty, které propojují více vrstev. Typickou chybou je testovat všechno přes integrační testy, protože se zdá, že to lépe simuluje reálné použití. Výsledkem je ale pomalá testovací sada, která při změně jedné závislosti vyžaduje úpravy mnoha testů. Naopak jednostranné zaměření na jednotkové testy vede k tomu, že se přehlédnou problémy vzniklé při propojení modulů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Testování Redux logiky nemusí vždy znamenat spuštění celé aplikace. Reducery i async akce jsou čisté funkce, které lze ověřit v izolaci, což výrazně zrychluje vývoj a zvyšuje spolehlivost. Klíčové je pochopit, že reducer je deterministická funkce závislá pouze na svém stavu a akci. Proto stačí vytvořit inicializovaný store a posílat do něj akce, aniž byste potřebovali renderovat komponenty nebo běžící server.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Dalším aspektem je doba běhu. Pokud testy trvají déle než pár minut, vývojáři je přestanou spouštět před commitem. Proto rozdělte testy na rychlé (jednotkové) a pomalé (integrační). Rychlé testy spouštějte při každé změně, pomalé až v CI při sestavení pull requestu. Tím zajistíte, že vývojář dostane rychlou zpětnou vazbu, ale zároveň se ověří celková funkčnost systému.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;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.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Asynchronní akce testujete podobně, ale s jedním rozdílem: potřebujete simulovaný dispatch a getState. Předpokládejme thunk, který načítá data z API a po úspěchu dispatchuje akci. V testu vytvoříte mock funkce pro dispatch a getState, zavoláte thunk a počkáte na dokončení. Klíčové je správně nastavit mock pro API volání – ideálně pomocí vstřikování závislostí, kdy thunk přijímá funkci pro fetch jako parametr. Tím zajistíte, že test nezávisí na síti, a můžete simulovat úspěch i chybu.&lt;/div&gt;</summary>
		<author><name>CharlesOdonnell</name></author>
	</entry>
</feed>