1 post / 0 new
Guest (not verified)
Když testy brzdí vývoj, srovnejte jednotkové a integrační vrstvy

Spouštějte celé kolekce najednou pomocí Collection Runneru. Ten projde všechny požadavky v daném pořadí, použije prostředí a zobrazí přehled úspěchů a selhání. Nastavte počet iterací a zpoždění mezi požadavky, aby server zbytečně nezahlcoval. Výsledky se dají exportovat a porovnávat mezi běhy. Praktický tip: před spuštěním runneru zkontrolujte, že všechny proměnné mají aktuální hodnoty. Zapomenutý starý token způsobí, že všechny testy vrátí 401 a vy budete hledat chybu tam, kde není.

Pojmenování je druhá věc, která rozhoduje o čitelnosti. Funkce by měla dělat to, co říká její název, a název by měl být sloveso: spocitejCenu, nactiUzivatele, zvalidujEmail. Vyhněte se zkratkám jako tmp, data2 nebo obj. Čím konkrétnější název, tím méně komentářů potřebujete. Naopak zbytečné komentáře, které popisují, co kód dělá, jen zvyšují šum. Komentář má vysvětlovat proč, ne co – třeba proč je někde zvláštní podmínka kvůli chování prohlížeče.

Pull request není jen místo pro schválení. Je to poslední šance odhalit chyby dřív, než se dostanou do hlavní větve. Nastavte si ochranu hlavní větve tak, aby vyžadovala alespoň jedno schválení a zelené testy. Do popisu pull requestu napište, co změna řeší a jak ji ověřit — recenzent pak nemusí hádat. Vyhněte se dvěma krajnostem: schvalování bez čtení a blokování kvůli stylistickým drobnostem, které patří do automatické kontroly.

Pracovní postup místo hromady příkaz

Růst codebase se projeví nejdřív na testech. Sada, která běžela dvě minuty, najednou trvá dvacet a padá z důvodů, které nesouvisí s kódem. Většina týmů reaguje přidáním dalších testů, čímž problém zhorší. Řešení není víc testů, ale jasné rozdělení odpovědností mezi jednotkovou a integrační vrstvou.

Proveďte audit stávající sady a u každého testu odpovězte na jednu otázku: závisí výsledek na stavu mimo testovanou funkci? Pokud ne, patří do jednotkové vrstvy. Pokud ano, do integrační. Testy, které nedokážou odpovědět ani na jednu variantu, obvykle jen kopírují implementaci a nemají hodnotu – ty smažte. Počet integračních testů držte výrazně nižší než jednotkových, obvykle v poměru jedna ku pěti až jedné ku deseti.

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Navigation

User login