Le coeur perdu – Paris

Reducery a async akce: testy bez běžícího integračního prostředí

Testovací pyramida není dogma, ale poměr, který udržuje zpětnou vazbu rychlou a levnou. Základ tvoří unit testy: měly by pokrývat izolovanou logiku, hraniční hodnoty a chybové stavy. Držte je v řádu milisekund, bez sítě, bez souborového systému a bez databáze. Když unit test potřebuje kontejner nebo běžící server, není to unit test. Čím více jich je, tím častěji můžete spouštět celou sadu při každé změně.

Business people in creative office consulting a project.Nakonec testujte průběžně, ne až na konci. Otevřete nástroje pro vývojáře, zkontrolujte konzoli a zkuste stránku zúžit na šířku telefonu. Chyby v HTML se v prohlížeči často tiše opraví, ale to neznamená, že tam nejsou. Projděte si strukturu a ověřte párové tagy. Když držíte tyto čtyři základy, máte pevnou půdu pro jakékoli další rozšiřování.

Jak vazbu sbírat, aby nezůstala jen u dvou mluvčí

Sémantické tagy místo divů Místo desítek divů používejte tagy, které nesou význam: header, nav, main, section, article, footer. Vyhledávače i čtečky obrazovky z nich lépe pochopí, co je na stránce důležité. Divy si nechte na čistě vizuální obaly. Další častá chyba je vnořování tagů do sebe bez rozmyslu. Nadpis první úrovně patří na stránku jednou, další nadpisy tvoří logickou hierarchii. Když ji přeskočíte, snižujete přístupnost i srozumitelnost obsahu.

Jakmile budeš mít funkční jednoduchou aplikaci, přidej druhou obrazovku a navigaci mezi nimi. Potom zkus uložit data tak, aby přežila zavření aplikace. Teprve pak řeš vzhled, animace nebo síťovou komunikaci. Když budeš postupovat po malých krocích, dřív zjistíš, co ti sedí, a hlavně budeš mít hotovou věc, kterou můžeš někomu ukázat. To je lepší než měsíce číst a nezkusit nic napsat.

Před schůzkou pošlete krátkou otázku, na kterou má každý odpovědět písemně. Stačí tři body: co fungovalo, co brzdilo a co bych příště udělal jinak. Odpovědi se nesdílejí dopředu, aby se nikdo neopičil po nejhlasitějším. Na začátku retrospektivy je všechny vystavíte vedle sebe a teprve pak se o nich mluví. Tím se přirozeně vyrovná prostor a tišší členové týmu mají stejnou váhu jako extroverti.

Zvláštní pozornost věnujte chybám. Async akce by měla při selhání odeslat akci s chybou a případně nezměnit stav. Otestujte, že se stav nezměnil, a že se odeslala očekávaná chybová akce. Častá chyba je zapomenout na finally blok a nechat v testu viset promise, která nikdy nedoběhne. Pokud používáte časovače, nahraďte je fake implementací a posouvejte čas ručně. Jinak testy trvají zbytečně dlouho a jsou náchylné k výkyvům. Bez integračního prostředí se dá ověřit většina logiky. Skutečné síťové chování a middleware řetězec patří do samostatných testů, které spouštíte méně často.

Vyhněte se dvěma častým omylům. Prvním je snaha mít „test na všechno” a měřit kvalitu procentem pokrytí. Pokrytí říká, co je spuštěno, ne co je ověřeno. Druhým je ignorování rychlosti. Test, který běží deset minut, vývojáři přestanou pouštět. Rozdělte sadu na rychlou, která běží při každém commitu, a pomalou, která se spouští před vydáním. Každý test musí mít jasný důvod, proč existuje. Když ho neumíte pojmenovat, pravděpodobně jen zdržuje.

Rozložení dnes řešte pomocí flexboxu a gridu. Oba nástroje zvládají zarovnání i roztažení obsahu bez pevných šířek. Nepoužívejte plovoucí prvky pro celkovou stavbu stránky, na to už dávno nejsou potřeba. Box model je další kámen úrazu. Šířka prvku se standardně počítá včetně paddingu a borderu až po nastavení box-sizing. Nastavte jej globálně na border-box pro všechny prvky. Ušetříte si překvapení, kdy se sloupec nevejde vedle druhého.

Async akce bez sítě: thunk, fake dispatch a fake getState U asynchronních akcí jde o to izolovat okolí. Thunk je funkce, která dostane dispatch a getState. V testu jim předáte vlastní implementace. Dispatch může být jednoduchá funkce, která ukládá volání do pole, a getState vrací předpřipravený stav. Tím odpadá potřeba skutečného store i integračního prostředí. Pokud thunk uvnitř volá API klienta, nahraďte ho stubem, který vrací resolved promise s daty, nebo rejected promise s chybou. Testujte obě varianty, protože chybová větev bývá v produkci ta, která bolí nejvíc.

Kde končí rozumná hranice Vrchol pyramidy tvoří end-to-end testy. Procházejí celou aplikaci z pohledu uživatele a mají největší hodnotu při ověřování kritických cest: přihlášení, dokončení objednávky, odeslání formuláře. Zásadní je držet jejich počet nízký. Každý e2e test je pomalý, křehký a jeho selhání často neukazuje na chybu v logice, ale na změnu v rozhraní nebo v datech. Pokud jich máte desítky, brzy strávíte více času jejich opravami než vývojem.

If you cherished this report and you would like to acquire more information relating to více rad kindly take a look at our web page.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

0
    CARRELLO
    Il tuo carrello è vuoto!Torna allo shop