<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://jak.mazovia.edu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PilarTrenwith65</id>
	<title>Mazovia - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://jak.mazovia.edu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PilarTrenwith65"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php/Specjalna:Wk%C5%82ad/PilarTrenwith65"/>
	<updated>2026-11-05T12:32:11Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=5_krok%C5%AF,_jak_otestovat_z%C3%A1vislosti_bez_extern%C3%ADch_slu%C5%BEeb&amp;diff=1050809</id>
		<title>5 kroků, jak otestovat závislosti bez externích služeb</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=5_krok%C5%AF,_jak_otestovat_z%C3%A1vislosti_bez_extern%C3%ADch_slu%C5%BEeb&amp;diff=1050809"/>
		<updated>2026-10-12T04:54:30Z</updated>

		<summary type="html">&lt;p&gt;PilarTrenwith65: Utworzono nową stronę &amp;quot;&amp;lt;br&amp;gt;Kdy použít stub, fake a kdy mock Stub vrátí pevnou odpověď a hodí se tam, kde ověřujete zpracování dat. Fake se chová jako zjednodušená verze služby — například drží data v paměti a umí je filtrovat. Mock navíc kontroluje, zda aplikace službu zavolala správně, s jakými parametry a kolikrát. Typická chyba je používat mock na všechno: testy pak testují implementaci, ne chování. Pokud jde jen o to, že aplikace dostane data a n…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;Kdy použít stub, fake a kdy mock Stub vrátí pevnou odpověď a hodí se tam, kde ověřujete zpracování dat. Fake se chová jako zjednodušená verze služby — například drží data v paměti a umí je filtrovat. Mock navíc kontroluje, zda aplikace službu zavolala správně, s jakými parametry a kolikrát. Typická chyba je používat mock na všechno: testy pak testují implementaci, ne chování. Pokud jde jen o to, že aplikace dostane data a něco s nimi udělá, stub nebo fake stačí a jsou srozumitelnější.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Co se skutečně děje při sestavení a spuštěn&amp;lt;br&amp;gt;Testování aplikace, která závisí na datech z externích služeb, je často nepříjemné: sítě vypadávají, API mají limity, odpovědi se mění a testy jsou pomalé. Řešení není obcházet závislosti, ale nahradit je něčím, co máte plně pod kontrolou. Základem je izolovat kód,  [http://Crativ.Co.kr/bbs/board.php?bo_table=info1&amp;amp;wr_id=140413 rekonstrukce koupelny krok za krokem] který s externí službou komunikuje, za rozhraní. V produkci za něj dosadíte skutečného klienta, v testech jeho náhradu. Tím se testy zrychlí, zprovozní a přestanou být závislé na cizím prostředí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pozor také na časová razítka a časové zóny. Dynamické generování dat často vytváří hodnoty v lokálním čase, ale aplikace je ukládá v UTC. Test, který projde na vývojářském stroji, selže na serveru v jiné zóně. Vždy explicitně nastavte časovou zónu testovacího prostředí a generujte data s jasným časovým kontextem. Totéž platí pro formáty čísel a datumů – náhodný generátor může vytvořit řetězec, který vypadá jako datum, ale parser ho odmítne.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základem je představa, že kontejner není malý virtuální stroj. Je to izolovaný proces, který sdílí jádro hostitelského systému. Nemá vlastní ovladače, vlastní jádro ani zaručený přístup k hardwaru. Když tedy do obrazu nakopírujete jen zdrojový kód a spoléháte na to, že si aplikace sama najde cestu k databázi nebo k souborům, narazíte. Kontejner vidí pouze to, co mu výslovně předáte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec dbejte na to, aby náhrady [https://www.gov.uk/search/all?keywords=nezakr%C3%BDvaly nezakrývaly] chyby. Častý problém je příliš benevolentní fake, který přijme i neplatný vstup a vrátí „něco&amp;quot;. Nastavte náhradě stejná omezení jako skutečné službě: povinná pole, typy, limity. A až se změní kontrakt externí služby, aktualizujte i náhrady. Jinak se stane, že testy procházejí, ale aplikace v provozu selže. Izolace závislostí není trik pro rychlé testy, ale způsob, jak mít chování aplikace pod kontrolou.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;U složitějších závislostí se vyplatí simulovat i chování v čase. Pokud aplikace čeká na opakované volání, zpracovává stránkování nebo řeší timeouty, nestačí jedna statická odpověď. Připravte náhradu, která umí vrátit postupně několik odpovědí nebo vyhodit chybu po určitém počtu volání. Pozor na předpoklad, že externí služba odpovídá vždy stejně. Právě neočekávané pořadí, chybějící pole nebo prázdné kolekce odhalí v testech nejvíc chyb.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec moduly: import a export nahrazují staré globální proměnné. Drž se jednoho stylu, ideálně pojmenovaných exportů, a vyhni se cyklickým závislostem. Moderní funkce nejsou o tom použít všechno, ale o tom psát méně kódu s jasnějším chováním. Začni od const, šablon a destrukturalizace. Zbytek přidávej, až když narazíš na konkrétní problém, který daná funkce řeší.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Před nasazením do produkce se neobejdete bez testů na reálných datech. Uměle vytvořená data bývají příliš čistá a neodhalí problémy s diakritikou, prázdnými hodnotami nebo příliš dlouhými vstupy. Načtěte kopii produkčních dat, ale citlivé údaje předem zamaskujte. Zkuste i to, co uživatelé dělají „špatně&amp;quot;: opakované odeslání formuláře, rychlé klikání, návrat tlačítkem zpět. Právě tam vznikají chyby, které se v běžných testech neprojeví.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Testy s náhradami spouštějte společně s testy jednotek i integračními testy. Pomáhá oddělit vrstvy: testy jednotek používají stuby a běží rychle, integrační testy mohou použít fake službu běžící lokálně. Nikdy ale netvrďte, že testy s náhradami ověřují skutečnou integraci. Skutečné chování externí služby se může lišit v detailech, jako je formát data, kódování nebo chybové stavy. Proto si ponechte alespoň malou sadu testů, které se proti reálné službě pustí ručně nebo ve zvláštním prostředí.&amp;lt;br&amp;gt;Prvním krokem je vytvořit falešnou implementaci rozhraní. Nemusí to být složitý simulátor — stačí třída nebo funkce, která vrací předem připravená data. Pro úspěšný scénář si připravte typickou odpověď, pro chybový scénář třeba výjimku nebo stavový kód. Data ukládejte do souborů nebo je generujte v kódu, ale vždy tak, aby byla čitelná a snadno upravitelná. Vyhněte se kopírování obrovských reálných odpovědí; stačí jen pole, která aplikace skutečně používá.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Should you loved this short article and you want to receive more info with regards to [http://Crativ.Co.kr/bbs/board.php?bo_table=info1&amp;amp;wr_id=140413 úLožNé Prostory V MaléM Bytě] generously visit the webpage.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>PilarTrenwith65</name></author>
	</entry>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:PilarTrenwith65&amp;diff=1050807</id>
		<title>Użytkownik:PilarTrenwith65</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:PilarTrenwith65&amp;diff=1050807"/>
		<updated>2026-10-12T04:54:28Z</updated>

		<summary type="html">&lt;p&gt;PilarTrenwith65: Utworzono nową stronę &amp;quot;Váš průvodce dílnou i obývákem se zabývá denně. Píšu o tom, jak si poradit v malém bytě. Nejraději popisovat postupy krok za krokem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Also visit my page: [http://Crativ.Co.kr/bbs/board.php?bo_table=info1&amp;amp;wr_id=140413 úLožNé Prostory V MaléM Bytě]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Váš průvodce dílnou i obývákem se zabývá denně. Píšu o tom, jak si poradit v malém bytě. Nejraději popisovat postupy krok za krokem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Also visit my page: [http://Crativ.Co.kr/bbs/board.php?bo_table=info1&amp;amp;wr_id=140413 úLožNé Prostory V MaléM Bytě]&lt;/div&gt;</summary>
		<author><name>PilarTrenwith65</name></author>
	</entry>
</feed>