Správné použití atributů a Assertů NUnit nabízí atributy jako [SetUp] a [TearDown] pro inicializaci a úklid prostředí. Využívejte je, ale nezneužívejte. Pokud každý test potřebuje jinou konfiguraci, raději vytvořte separátní testovací třídy. Dále se naučte používat Assert.That s constraint syntaxí, která je čitelnější než klasické Assert.AreEqual. Například Assert.That(výsledek, Is.EqualTo(5)) je nejen přehlednější, ale také poskytuje lepší chybové hlášení, když test selže. Pro porovnávání čísel s tolerancí použijte Is.EqualTo(0.1).Within(0.01) – tím se vyhnete nepříjemným problémům s plovoucí desetinnou čárkou.
Praktická rada pro každodenní práci: naučte se kombinovat nové funkce s existujícím kódem. Nemusíte přepisovat vše najednou. Začněte s tam, kde se nejvíce opakuje vzor „zkopíruj a vlož". Typický případ je ošetření konfigurace komponenty. Místo pěti řádků podmínek použijte destrukci s výchozími hodnotami a zbytek nechte být. Zároveň si dávejte pozor na zpětnou kompatibilitu – starší prohlížeče nepodporují ES6+ syntaxi bez transpilace. Pokud píšete kód pro prostředí, kde nemůžete použít build nástroje, raději používejte pouze bezpečné části specifikace, jako jsou výchozí parametry (které jsou podporované široce) a vyhněte se třeba optional chaining, který je novější.
Další častý problém je ignorování velikosti dotykových cílů. Na desktopu klidně umístíte tlačítko o velikosti 20 pixelů, ale na mobilu je to pod hranicí pohodlného ovládání. Uživatelé pak omylem klikají vedle a stránka se jim zdá rozbitá. Řešení je jednoduché: nastavte minimální velikost 44×44 pixelů pro všechny klikací prvky a mezi nimi ponechte alespoň 8 pixelů mezeru. Pokud pracujete s frameworkem, využijte jeho výchozí komponenty – mívají tyto hodnoty už přednastavené. Jen pozor na to, že některé frameworky u tlačítek nastavují menší klikací plochu, než je viditelný prvek – to je past, kterou snadno přehlédnete.
Text a hierarchie: kde začíná většina problémů Když už máte rozvržení, zaměřte se na typografii. Nejdůležitější není zvolit hezký font, ale nastavit správnou hierarchii. Nadpis má být vizuálně odlišen od běžného textu – ne tím, že ho uděláte tučně, ale tím, že mu dáte jasně větší velikost a vzduch kolem. Podobně odkazy by měly být odlišeny nejen barvou, ale i podtržením, protože barva sama o sobě nestačí pro barvoslepé uživatele. Základní pravidlo: řádkování 1,5 a délka řádku 60–80 znaků. Pokud text sahá přes celou šířku monitoru, je nečitelný – omezte šířku kontejneru.
Když píšete unit testy v C# s frameworkem NUnit, nejde jen o to, abyste pokryli co nejvíce řádků kódu. Důležité je, aby testy byly spolehlivé, rychlé a hlavně srozumitelné pro každého, kdo k nim přijde za půl roku. NUnit nabízí širokou škálu nástrojů, ale jejich nesprávné použití dokáže nadělat víc škody než užitku. Základním pravidlem je testovat chování, ne implementaci. Když test svážete s konkrétními interními detaily třídy, každá sebemenší změna v kódu rozbije test, i když funkčnost zůstává zachována.
Při práci s databází nebo souborovým systémem se vyhněte reálným závislostem. Používejte mockování, i když to znamená, že test nebude tak „komplexní". Unit test má ověřovat logiku, ne infrastrukturu. Pro integraci s externími službami si vytvořte falešné objekty, které vracejí předem dané odpovědi. Pamatujte, že testy musí být rychlé – pokud jeden test trvá sekundy, vývojáři ho přestanou spouštět. Proto udržujte testovací sadu oddělenou od integračních testů, které běží proti skutečným závislostem.
Nejčastější chybou, kterou vídám v projektech, je kombinace arrow funkcí s metodami, které mění kontext – zejména arguments objekt nebo new.target. Arrow funkce nemají vlastní arguments, takže pokud ji použijete uvnitř běžné funkce, zpracujete argumenty vnější funkce, ne své. To může vést k záměně hodnot. Pokud potřebujete pracovat s argumenty, použijte rest parametry: (...args) => { ... }. Tím získáte pole, se kterým se lépe pracuje než s objektem arguments. A pokud píšete konstruktor, arrow funkce rovnou zapomeňte – nelze ji použít s new.
Dalším praktickým tipem je testování výjimek. Místo Assert.Throws zkuste novější Assert.ThrowsAsync pro asynchronní metody. Nezapomeňte ale ověřit i konkrétní typ výjimky, ne jen to, že nějak zařídit malou kuchyniá vznikla. Také se vyplatí testovat hraniční hodnoty a prázdné vstupy – právě tam se skrývá nejvíc chyb. Když testujete metody pracující s datem a časem, nepoužívejte aktuální datum přímo v testu. Místo toho si vytvořte rozhraní pro poskytování času a v testu ho nahraďte falešnou implementací. Tím zajistíte, že test bude deterministický a nebude závislý nábytek na míru tom, kdy ho spustíte.
If you have any kind of issues concerning where by in addition to how you can make use of byt V Paneláku, you can e mail us on our site.