Egységgel teszteljük a normál JavaScript-függvényeket, hogy megbizonyosodjunk arról, hogy megfelelően működnek-e. Egy bizonyos bemenet esetén a megfelelő kimenetet kell visszaadnia.

Ez egy jó teszt. Azt teszteli, hogy mi érdekel minket; hogy megkapjuk a helyes választ. Nem foglalkozunk az összegfüggvény belső megvalósításával. Képzeljük el, ha az összegfüggvénynek ez a kiagyalt megvalósítása lenne.

A korábban elvégzett teszt továbbra is működik ennél az új megvalósításnál.

Elképzelhető egy rossz teszt a funkció belső megvalósításának tesztelésével. Vessen egy pillantást a következő tesztre:

Ez egy rossz teszt, mert olyasmit tesztelünk, ami nem érdekel minket.

Így kell gondolkodnunk a React komponensek tesztelésén is. Képzeld el, hogy megvan ez az alapvető React komponens.

Ebben az alapösszetevőben egy gomb lekapcsolja a letiltott állapotát, amikor a másik gombra kattintok. Erre jó teszt lehet:

Egy rossz teszt az, ha megvizsgáljuk, hogyan valósítjuk meg ezt a logikát. Az összeg függvény példájában a megvalósítási részlet a rendelkezésünkre álló tömb volt. A React Component példánkban a megvalósítás részletei az általunk használt állapot.

Ez ismét egy rossz teszt, mert az Összetevőnket átalakíthatjuk erre:

A komponensünk továbbra is azt csinálja, amit akarunk, de az új tesztünk most kudarcot vall.

Ne feledje, hogy a React összetevői függvények. Átadja a bemeneteket (mint kellékeket), és kap egy kimenetet (a render funkciójából). Az összetevő állapota egy megvalósítási részlet.

Mielőtt tesztelné az összetevő állapotát, lépjen vissza, és ellenőrizze, hogy a megfelelő dolgot teszteli-e.