<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki-babylonsignalis.org/index.php?action=history&amp;feed=atom&amp;title=Jak_za%C4%8D%C3%ADt_s_pytestem_a_ps%C3%A1t_smyslupln%C3%A9_testy</id>
	<title>Jak začít s pytestem a psát smysluplné testy - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-babylonsignalis.org/index.php?action=history&amp;feed=atom&amp;title=Jak_za%C4%8D%C3%ADt_s_pytestem_a_ps%C3%A1t_smyslupln%C3%A9_testy"/>
	<link rel="alternate" type="text/html" href="https://wiki-babylonsignalis.org/index.php?title=Jak_za%C4%8D%C3%ADt_s_pytestem_a_ps%C3%A1t_smyslupln%C3%A9_testy&amp;action=history"/>
	<updated>2026-09-14T20:02:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki-babylonsignalis.org/index.php?title=Jak_za%C4%8D%C3%ADt_s_pytestem_a_ps%C3%A1t_smyslupln%C3%A9_testy&amp;diff=133060&amp;oldid=prev</id>
		<title>AimeeEdler06: Created page with &quot;Dalším častým problémem je odhadování „ve vzduchu&quot; bez znalosti existujícího kódu. Pokud neznáte architekturu, použité knihovny nebo kvalitu testů, je váš odhad jen tipování. Před odhadem si projděte relevantní části kódu, podívejte se na podobné úkoly z minulosti a zjistěte, jak dlouho reálně trvaly. Historická data z vašeho týmu jsou nejcennějším zdrojem – pokud je nemáte, začněte si je zaznamenávat.&lt;br&gt;&lt;br&gt;Praktickým tipem...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki-babylonsignalis.org/index.php?title=Jak_za%C4%8D%C3%ADt_s_pytestem_a_ps%C3%A1t_smyslupln%C3%A9_testy&amp;diff=133060&amp;oldid=prev"/>
		<updated>2026-08-21T18:24:38Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Dalším častým problémem je odhadování „ve vzduchu&amp;quot; bez znalosti existujícího kódu. Pokud neznáte architekturu, použité knihovny nebo kvalitu testů, je váš odhad jen tipování. Před odhadem si projděte relevantní části kódu, podívejte se na podobné úkoly z minulosti a zjistěte, jak dlouho reálně trvaly. Historická data z vašeho týmu jsou nejcennějším zdrojem – pokud je nemáte, začněte si je zaznamenávat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktickým tipem...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Dalším častým problémem je odhadování „ve vzduchu&amp;quot; bez znalosti existujícího kódu. Pokud neznáte architekturu, použité knihovny nebo kvalitu testů, je váš odhad jen tipování. Před odhadem si projděte relevantní části kódu, podívejte se na podobné úkoly z minulosti a zjistěte, jak dlouho reálně trvaly. Historická data z vašeho týmu jsou nejcennějším zdrojem – pokud je nemáte, začněte si je zaznamenávat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktickým tipem je používat příkaz pytest -k pro filtrování testů podle názvu nebo -x pro zastavení po prvním selhání. To šetří čas při ladění. Pro kontrolu pokrytí kódu můžete použít doplněk pytest-cov, ale pozor – vysoké pokrytí neznamená, že jsou testy kvalitní. Důležité je testovat hlavní scénáře a okrajové případy, ne jen procházet řádky kódu. Snažte se psát testy, které skutečně odhalí chyby, ne takové, které jen potvrzují, že kód funguje.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při práci s více soubory oceníte funkci Move, která přesune třídu nebo funkci do jiného souboru a zároveň aktualizuje všechny importy. Tato operace je užitečná zejména při organizování projektů do modulů. Pozor si dejte na cyklické závislosti – přesun může někdy vytvořit nechtěné propojení mezi balíčky. Před potvrzením akce si proto prohlédněte náhled změn, který IDE nabízí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nezapomeňte také na podporu uložených procedur a funkcí. Některá IDE umí zobrazit kód procedur, zvýraznit chyby a umožnit jejich spuštění s parametrem. To ušetří čas při ladění. Ale pozor – některé nástroje zobrazují procedury jen jako text a neumožňují jejich krokování. Pokud toto potřebujete, testujte přímo na vaší databázi, ne na demo serveru. Další praktickou funkcí je porovnání schémat – ať už mezi dvěma databázemi, nebo verzemi. Bez tohoto nástroje budete muset ručně psát skripty a porovnávat je, což je zbytečná práce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při výběru integrovaného vývojového prostředí (IDE) se často soustředíte na jazyky, které plánujete používat, a na vzhled prostředí. To je ale jen polovina úspěchu. Pokud pracujete s databázemi, je podpora SQL nástrojů klíčová. Než se rozhodnete, zkuste si odpovědět na otázku, jaké databázové systémy používáte – MySQL, PostgreSQL, SQL Server, nebo třeba Oracle. Každé IDE má jinou úroveň integrace a ne vždy to, co vypadá dobře v prezentaci, funguje bez problémů v praxi.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejčastější chyby při odhadování času Jednou z nejrozšířenějších chyb je ignorování režie – schůzky, e-maily, code review, testování, nasazení nebo ladění. Zkušený vývojář často stráví jen polovinu pracovní doby samotným psaním kódu. Pokud tuto režii nezapočítáte, bude váš odhad systematicky nízký. Doporučuji přidat k čistému odhadu rezervu alespoň 20–30 %, a to nejen na režii, ale i na chyby, které se objeví až během integrace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro jednoduché služby, kde klient potřebuje jasně definované zdroje, je REST obvykle lepší volba. Pokud máte veřejné API, které má být snadno pochopitelné a stabilní, REST poskytuje přehlednou strukturu s explicitními koncovými body. Typický příklad: e-shop, kde potřebujete získat produkt, uživatele nebo objednávku. Každý zdroj má vlastní URL a HTTP metody (GET, POST, PUT, DELETE) dávají jasně najevo, co se děje. Méně zkušení vývojáři se v RESTu rychle zorientují, protože vše je vidět na první pohled.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec si osvojte psaní testů jako běžnou součást vývoje. Když přidáváte novou funkci, napište testy dřív, než ji implementujete – tato technika se nazývá testování řízené vývojem (TDD). Pomůže vám to lépe promyslet návrh a vyhnout se zbytečným chybám. pytest je nástroj, který vám v tom pomůže, ale klíčová je vaše disciplína a pochopení, co testujete a proč.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pravidelně porovnávejte odhady se skutečností. Po dokončení úkolu si zapište, kolik času reálně zabral, a proč se lišil od odhadu. Po čase získáte kalibraci, díky které budou vaše odhady stále přesnější. Nepodléhejte iluzi, že odhadování je exaktní věda – je to dovednost, kterou lze trénovat. Důležité je být konzistentní, sledovat metriky a nebát se přiznat nejistotu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Častou pastí je používání globálního stavu. Pokud testy závisí na pořadí spuštění nebo na souborech, které se mění, jsou křehké. Pytest nabízí tzv. fixtures – funkce označené @pytest.fixture, které připraví data nebo objekty pro test. Fixtures se automaticky předávají jako argumenty testovací funkci. Můžete je použít pro vytvoření dočasného souboru, připojení k databázi nebo nastavení konfigurace. Díky tomu je každý test izolovaný a nezávislý na ostatních. Nezapomínejte také na správu zdrojů – fixtures by měly zajistit i úklid po sobě.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základní struktura projektu je jednoduchá: testy umístěte do adresáře tests a pojmenujte soubory test_nazev.py. Spuštění probíhá příkazem pytest v kořenovém adresáři. Pytest automaticky sbírá soubory začínající na test_ a funkce v nich. Pro první test stačí napsat funkci s assert, která porovná očekávaný výsledek se skutečným. Pokud test selže, pytest vypíše podrobné informace o tom, co se neshoduje, takže chybu rychle najdete.&lt;/div&gt;</summary>
		<author><name>AimeeEdler06</name></author>
	</entry>
</feed>