<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ZWMMerle386303</id>
	<title>Rettungsdienst-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ZWMMerle386303"/>
	<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Spezial:Beitr%C3%A4ge/ZWMMerle386303"/>
	<updated>2026-09-12T04:24:07Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Kdy_je_spr%C3%A1vn%C3%BD_%C4%8Das_p%C5%99idat_integra%C4%8Dn%C3%AD_testy_a_kdy_sta%C4%8D%C3%AD_jednotkov%C3%A9%3F&amp;diff=204187</id>
		<title>Kdy je správný čas přidat integrační testy a kdy stačí jednotkové?</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Kdy_je_spr%C3%A1vn%C3%BD_%C4%8Das_p%C5%99idat_integra%C4%8Dn%C3%AD_testy_a_kdy_sta%C4%8D%C3%AD_jednotkov%C3%A9%3F&amp;diff=204187"/>
		<updated>2026-08-29T04:42:31Z</updated>

		<summary type="html">&lt;p&gt;ZWMMerle386303: Die Seite wurde neu angelegt: „Při návrhu testů platí jednoduché pravidlo: nejdříve si odpovězte, co se může reálně rozbít. Pokud je riziko chyby v logice podmínek, použijte jednotkový test. Pokud je riziko v propojení s databází, souborovým systémem nebo cizí službou, integrační test je na místě. Typickou chybou je psát integrační test na všechno, co se dá, a pak trávit hodiny laděním prostředí. Druhým extrémem je jednotkové testy „nafukovat&amp;quot;…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Při návrhu testů platí jednoduché pravidlo: nejdříve si odpovězte, co se může reálně rozbít. Pokud je riziko chyby v logice podmínek, použijte jednotkový test. Pokud je riziko v propojení s databází, souborovým systémem nebo cizí službou, integrační test je na místě. Typickou chybou je psát integrační test na všechno, co se dá, a pak trávit hodiny laděním prostředí. Druhým extrémem je jednotkové testy „nafukovat&amp;quot; tak, aby simulovaly vše, což vede k těžko udržovatelným mockům a testům, které neodrážejí realitu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Růst codebase s sebou přináší nejen nové funkce, ale i rostoucí tlak na testovací strategii. Zpočátku vám stačí rychlé jednotkové testy, které ověřují izolované metody. Jakmile ale začnete měnit rozhraní mezi moduly, zjistíte, že vám unikají chyby, které se projeví až při propojení komponent. Klíčem není držet se dogmatického poměru 70:30, ale umět rozpoznat, kdy který typ testu přináší nejvyšší hodnotu za rozumné náklady.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; assert 1 + 1 == 2Nemusíte psát třídy ani dědit z nějaké základny – stačí funkce a assert. Tento minimalismus je hlavní výhodou oproti unittestu. Při psaní testů se vyplatí mít každý test nezávislý a zaměřený na jednu konkrétní funkcionalitu. Pokud test selže, okamžitě víte, co je rozbité&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Co se stane, když místo přesného data nabídnete rozpětí Místo jediného data nabídněte rozpětí, které je realistické. Například „dokončíme to mezi úterým a čtvrtkem&amp;quot;. Tím zákazníkovi ukazujete, že počítáte s možnými komplikacemi, a zároveň mu dáváte jasný rámec. Vyhněte se ale příliš širokému rozpětí typu „do dvou týdnů&amp;quot;, protože to působí nejistě. Ideální je rozpětí, které zahrnuje váš optimistický odhad a k němu přidává rezervu na nepředvídané události. Uvnitř týmu si pak nastavte interní termín, který je dřív než ten, který sdělujete zákazníkovi.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak na to – a na co si dát pozor Začněte tím, že si definujete jednoduché testovací případy pro každou akci, kterou reducer umí zpracovat. Pro každý případ připravte výchozí stav, akci s payloadem a očekávaný nový stav. Test pak vypadá jako porovnání dvou objektů. Praktická ukázka: pokud máte reducer pro přidání položky do seznamu, otestujte, že přidá položku na konec, že nezmění původní seznam a že při prázdném seznamu funguje správně. Vyhněte se testování více akcí v jednom testu – každý test by měl ověřovat jednu konkrétní věc, aby bylo snadné najít příčinu případného selhání.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Jak strukturovat testy a využít fixtures Když potřebujete připravit data nebo prostředí, použijte fixtures. Jsou to funkce s dekorátorem @pytest.fixture, které vrací hodnotu nebo objekt. Například&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základem je rozlišit odhad a závazek. Odhad je váš kvalifikovaný tip, závazek je dohoda, kterou potvrdíte. Když řeknete „bude to do pátku&amp;quot;, zákazník to vnímá jako slib. Když řeknete „předpokládám, že to stihneme do pátku, ale potvrdím to ve středu&amp;quot;, dáváte mu prostor i kontrolu. Tento rozdíl je zásadní: odhad prezentujte jako pracovní hypotézu, ne jako hotovou věc. Vyhnete se tak situaci, kdy zákazník staví své plány na vašem slibu, který nemůžete dodržet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když začnete psát jednotkové testy v C# s NUnit, první věc, kterou objevíte, je, že samotné psaní testů není to nejtěžší. Největší úskalí přichází ve chvíli, kdy se testy začnou navzájem ovlivňovat a vy ztrácíte přehled o tom, co vlastně testujete. Typická chyba začátečníků? Sdílení stavu mezi testy. Pokud použijete statickou proměnnou, která se mění v jednom testu a ovlivní výsledek druhého, přestanou být testy izolované. A izolace je základní princip, bez kterého se jednotkové testy mění v noční můru.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při práci s databází nebo soubory se vyhněte reálným závislostem. Místo toho použijte rozhraní a vytvořte si falešné implementace nebo použijte mockovací knihovnu. Pokud testujete metodu, která ukládá do databáze, nechte ji pracovat s in-memory databází nebo s dočasnými soubory, které po testu smažete. Jinak se vaše testy stanou pomalé a nespolehlivé, protože jejich výsledek závisí na stavu prostředí. Navíc, pokud testy běží paralelně, může dojít ke konfliktům mezi soubory či záznamy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nezapomínejte ani na to, jakou roli hraje váš tón hlasu a formulace. Místo „určitě to stihneme&amp;quot; použijte „uděláme maximum, ale garantovat to nemůžu&amp;quot;. Zákazník pak nebude překvapený, když nastane problém. A když odhad dodržíte, připomeňte mu to: „Termín jsme potvrdili a dodrželi.&amp;quot; Tím budujete pověst spolehlivého partnera. Naopak pokud termín nestíháte, ozvěte se dřív, než se zákazník zeptá. Krátká zpráva „práce se protáhne, nový termín je úterý&amp;quot; je mnohem lepší než žádná.&lt;/div&gt;</summary>
		<author><name>ZWMMerle386303</name></author>
	</entry>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:ZWMMerle386303&amp;diff=204185</id>
		<title>Benutzer:ZWMMerle386303</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:ZWMMerle386303&amp;diff=204185"/>
		<updated>2026-08-29T04:42:28Z</updated>

		<summary type="html">&lt;p&gt;ZWMMerle386303: Die Seite wurde neu angelegt: „Váš průvodce praktickým bydlením žije už dlouho. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejraději popisovat postupy krok za krokem.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Váš průvodce praktickým bydlením žije už dlouho. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejraději popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>ZWMMerle386303</name></author>
	</entry>
</feed>