<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FayMocatta</id>
	<title>IT-Core - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FayMocatta"/>
	<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Special:Contributions/FayMocatta"/>
	<updated>2026-09-04T18:27:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=Co_zjist%C3%ADte,_kdy%C5%BE_zm%C4%9B%C5%99%C3%ADte_pokryt%C3%AD_testy_%E2%80%94_a_kdy_u%C5%BE_%C4%8D%C3%ADsla_l%C5%BEou&amp;diff=199920</id>
		<title>Co zjistíte, když změříte pokrytí testy — a kdy už čísla lžou</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Co_zjist%C3%ADte,_kdy%C5%BE_zm%C4%9B%C5%99%C3%ADte_pokryt%C3%AD_testy_%E2%80%94_a_kdy_u%C5%BE_%C4%8D%C3%ADsla_l%C5%BEou&amp;diff=199920"/>
		<updated>2026-08-29T05:19:59Z</updated>

		<summary type="html">&lt;p&gt;FayMocatta: Created page with &amp;quot;Když procenta rostou, ale chyby zůstávají Narazíte na situace, kdy pokrytí dosahuje vysokých hodnot, ale regrese se stále objevují. Typickou příčinou jsou testy, které ověřují jen implementaci, ne chování. Pokud test volá funkci s předem připravenými daty a kontroluje, že se vrátí očekávaná hodnota, ale neověřuje okrajové případy, chybové stavy nebo interakce s jinými částmi systému, pokrytí řádků bude vysoké a kvalita nízká....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Když procenta rostou, ale chyby zůstávají Narazíte na situace, kdy pokrytí dosahuje vysokých hodnot, ale regrese se stále objevují. Typickou příčinou jsou testy, které ověřují jen implementaci, ne chování. Pokud test volá funkci s předem připravenými daty a kontroluje, že se vrátí očekávaná hodnota, ale neověřuje okrajové případy, chybové stavy nebo interakce s jinými částmi systému, pokrytí řádků bude vysoké a kvalita nízká. Dalším častým problémem je snaha o 100% pokrytí za každou cenu. Vývojáři pak píší testy, které jen procházejí kódem bez reálných asercí, nebo dokonce testy, které uměle zvyšují čísla pomocí volání funkcí bez ověření výsledku.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Měření pokrytí testy patří mezi nejčastěji používané metriky kvality kódu. Na první pohled vypadá jednoduše: stačí spustit nástroj, který projde zdrojový kód a spočítá, kolik řádků, větví nebo funkcí bylo při testech vykonáno. Výsledek v procentech pak působí jako objektivní ukazatel. Jenže samotné číslo vám neřekne, jestli testy skutečně chrání před chybami, nebo jen mechanicky procházejí kódem. Než začnete hodnoty interpretovat, měli byste vědět, co přesně měříte a kde jsou limity této metriky.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Testování API je nedílnou součástí vývoje. Můžete psát unit testy pro služby a integrační testy pro trasy. K tomu se hodí nástroje jako Supertest, které vám umožní zavolat Express aplikaci bez spuštění serveru na portu. Nastavte si testy tak, aby běžely proti izolované databázi (například v paměti) a po každém běhu data vymazaly. Tento přístup vám dá jistotu, že úpravy v kódu nerozbijí existující funkcionalitu. Sledujte také, jak vaše API reaguje na neplatné JSON, chybějící hlavičky nebo příliš velká data – to jsou časté zdroje problémů v produkci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktickým přístupem je kombinovat měření pokrytí s analýzou mutací, která do kódu záměrně vnáší chyby a kontroluje, jestli je testy odhalí. Taková zpětná vazba je mnohem cennější než samotné procento. Udržujte pokrytí jako orientační ukazatel, ne jako dogma. Pro nový kód si nastavte rozumný minimální limit, ale u staršího kódu ho nezvyšujte násilně. Místo toho postupně doplňujte testy tam, kde dochází k nejčastějším chybám nebo kde je složitá logika. A nezapomeňte, že pokrytí nic neříká o tom, zda testy běží rychle a spolehlivě. Pomalé a flaky testy, které občas selžou bez zjevné příčiny, snižují důvěru v celou sadu, i když pokrytí ukazuje vysoká čísla.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Zpracování chyb v Expressu vyžaduje určitou pozornost. Pokud v asynchronní obsluze trasy dojde k výjimce, musíte ji buď zachytit a předat next(err), nebo použít helper, který to za vás udělá. Bez toho Express zpracuje chybu standardním způsobem, ale dostanete nepřehlednou HTML stránku místo JSON. Definujte si vlastní middleware pro chyby na konci souboru – přijme čtyři parametry (err, req, res, next) a podle typu chyby nastaví odpovídající status a JSON tělo. Tím zajistíte, že i neočekávaná chyba vrátí klientovi užitečnou informaci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Častou chybou je dát odhad hned na začátku, bez dostatečné analýzy. Pokud nerozumíte zadání, řekněte, že potřebujete čas na rozmyšlenou. Můžete odpovědět: „Abych mohl dát přesný odhad, potřebuji si projít detaily. Ozvu se do dvou dnů.&amp;quot; To je mnohem lepší než rychlé číslo, které později upravíte. Další chybou je používat vágní formulace jako „brzy&amp;quot; nebo „hned&amp;quot;. Tyto výrazy vzbuzují falešná očekávání a vedou k nedorozuměním. Vždy uvádějte konkrétní datum nebo počet pracovních dní.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základním krokem je vybrat správný typ pokrytí. Nejčastěji se setkáte s pokrytím řádků, které je snadné spočítat a snadno se prezentuje. Větší výpovědní hodnotu má pokrytí větví, protože odhaluje, jestli byly testovány obě možnosti u podmínek, a pokrytí podmínek, které kontroluje jednotlivé logické výrazy. Pro nový kód si nastavte cíl alespoň pro pokrytí větví; jen řádky vás nechají ve slepé uličce, protože můžete mít 80 % řádků a přitom polovinu rozhodovacích cest netestovanou. Důležité je měřit pokrytí na úrovni jednotek, nikoli jen na úrovni celého systému, a výsledky ukládat do historie, abyste viděli trend.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pokrytí přestává být užitečné ve chvíli, kdy se stane cílem samo o sobě. Když tým diskutuje o tom, jak zvýšit procento z 85 na 90, místo aby řešil, které rizikové části kódu nejsou otestované, je to varovný signál. Stejně tak když je pokrytí používáno jako jediné kritérium pro schválení pull requestu, vede to k formálním úpravám, které nemají vliv na spolehlivost. Místo honění čísel se zaměřte na testování kritických a často měněných částí. Pokud máte systém s mnoha vnějšími závislostmi, pokrytí řádků u integračních testů vypovídá málo o tom, jestli je spolupráce komponent správná.&lt;/div&gt;</summary>
		<author><name>FayMocatta</name></author>
	</entry>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=User:FayMocatta&amp;diff=199919</id>
		<title>User:FayMocatta</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=User:FayMocatta&amp;diff=199919"/>
		<updated>2026-08-29T05:19:57Z</updated>

		<summary type="html">&lt;p&gt;FayMocatta: Created page with &amp;quot;Někdo, kdo světem interiérů se zabývá denně. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejvíc mě baví ukazovat chytrá řešení, která zvládne každý.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Někdo, kdo světem interiérů se zabývá denně. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejvíc mě baví ukazovat chytrá řešení, která zvládne každý.&lt;/div&gt;</summary>
		<author><name>FayMocatta</name></author>
	</entry>
</feed>