Testovanie jednotiek PHP: Ako napísať svoj prvý test pre WordPress

Testovanie je bežnou súčasťou života. Všetko testujeme pred a po kúpe, aby sme zaistili, že dostaneme plnú funkčnosť produktu. Ak máte webovú stránku WordPress, pravdepodobne skontrolujete, či funguje tak, ako má. A to zahŕňa PHP, skriptovací jazyk WordPress.

Testovanie je nevyhnutné na overenie, či kód funguje správne, a v PHP to zvyčajne znamená testovanie jednotiek. Pokračujte v čítaní, aby ste sa dozvedeli o testovaní jednotiek PHP, o tom, ako písať a začleniť tieto testy a prečo je to dôležité.

Čo je Unit Testing?

Testovanie jednotiek sa týka úrovne testovania softvéru, kde sa jednotlivé jednotky alebo komponenty kódu testujú izolovane. To nám dáva možnosť skontrolovať, či každá jednotka kódu funguje podľa očakávania. Jedna jednotka môže byť riadok kódu, fráza, funkcia alebo trieda. V PHP a WordPress je jednotka zvyčajne funkcia alebo trieda.

Hoci jednotky môžu byť vo všetkých veľkostiach, spravidla sú menšie testy lepšie. Použitím menších testov môžete získať podrobnejší pohľad na výkon vášho softvéru. Navyše, ak použijete testy pre menšie jednotky, budete môcť spustiť tisíce testov za jednu sekundu, pretože malé testy sa dajú spustiť veľmi rýchlo.

Spomenuli sme, že unit testy sú testy spustené izolovane, takže čo to znamená? Testovanie v izolácii znamená, že testujeme iba jednu jednotku naraz. Takmer všetky typy testovania vyžadujú určitý druh izolácie, ale pri testovaní jednotiek PHP je to obzvlášť dôležité. Náš test izolujeme, pretože ak test zlyhá, bude ľahšie zistiť, ktorá časť kódu nefunguje správne.

Čítať:  Nákup použitých telefónov Pixel: Ako ušetriť peniaze a vyhnúť sa nástrahám

Prečo je testovanie jednotiek dôležité?

Testovanie jednotiek nám pomáha uistiť sa, že pre akúkoľvek funkciu a danú množinu jednotiek môžeme zistiť, či jednotka vracia správne hodnoty. Tiež nás uisťuje, že ak zadáte neplatný vstup, kód dokáže identifikovať a riešiť zlyhania. Pomáha nám teda identifikovať chyby v našich algoritmoch, čo zvýši kvalitu nášho kódu.

Keď budete písať ďalšie testy, nakoniec vytvoríte sériu testov, ktoré je možné spúšťať nepretržite, aby ste stanovili kvalitu vašej práce.

Keď do svojho softvéru začleníte testovanie jednotiek, nevyhnutne začnete používať kód, ktorý sa dá ľahko testovať. Ľahko testovateľný kód je nevyhnutnosťou pre testovanie jednotiek, pretože zaisťuje, že menšie a cielenejšie funkcie poskytujú jedinú operáciu.

Okrem toho, ak napíšete dobre otestovaný kód, môžete zabrániť narušeniu funkčnosti softvéru, ak začleníte budúce zmeny. Keďže svoj kód testujete, keď doň pridávate funkcie, nakoniec budete mať sériu testov, ktoré vám pomôžu riešiť zlyhania kódu, keď sa vyskytnú.

Zle napísaný kód môže navyše spôsobiť, že váš web bude náchylný na hackovanie, a preto by ste sa mali uistiť, že svoje webové stránky hostíte na zabezpečenom serveri.

Stojí testovanie jednotiek PHP za čas a námahu?

Testovanie jednotiek si skutočne vyžaduje veľa času a úsilia na písanie, ale ušetrí vám značný čas, ktorý by ste strávili opravou neočakávaných chýb. Písanie jednotkových testov maximalizuje výkon vášho programu tým, že je vysoko kvalitný a bez chýb.

Dôvera, ktorá pochádza zo závislosti od funkčnosti vášho kódu, robí testovanie jednotiek rozhodne stojí za váš čas. Nielenže si môžete byť istí, že váš kód robí to, na čo bol navrhnutý, ale môžete byť pokojní s vedomím, že neskoršie pridanie novej funkcie nebude sabotovať váš existujúci projekt.

Čítať:  Buffer vyhráva prvé miesto v 13 cenách G2

Čo treba zvážiť pri písaní testov PHP Unit

Existujú dva spôsoby, ako môžete písať jednotkové testy. Buď najprv napíšete testy a potom napíšete kód, aby tieto testy prešli, alebo môžete napísať kód a potom otestovať, ako tento kód funguje.

Vo všeobecnosti je lepšie najskôr napísať testy, ak začínate projekt od začiatku. Je to preto, že je ťažšie navrhnúť testy pre aplikáciu, ktorú ste už napísali a viete, ako funguje. Ak najskôr napíšete testy, zdokumentujete, ako má aplikácia fungovať, a to okamžite zachytí zlyhanie, keď kód nefunguje tak, ako má.

Napriek tomu je nereálne očakávať, že na začiatku napíšete unit testy pre celý svoj kód, pretože to bude trvať desiatky hodín. Namiesto toho môžete byť pragmatickí.

Jedným zo spôsobov, ako to dosiahnuť, je vytvoriť jednotkové testy pre každú chybu, na ktorú narazíte. Je to preto, že chyby sú zvyčajne malé chyby vo vašom kóde, čo uľahčuje vytvorenie testu. Tento prístup vám tiež pomôže lepšie pochopiť funkciu jednotkových testov, pretože z prvej ruky uvidíte, ako test identifikuje chybu a pomôže vám ju opraviť.

Ďalšia vec, ktorú môžete urobiť, je napísať testy jednotiek pre nové funkcie, ktoré chcete pridať do svojho softvéru. Je to dobrý nápad, pretože kód funkcie bude zvyčajne pre ňu špecifický, takže je ideálny na testovanie jednotiek. Táto prax vás tiež naučí dbať na kód, ktorý píšete, pretože budete nútení písať kód, ktorý sa dá ľahko testovať, čo je vždy dobrá prax.

Čítať:  Ako obísť verifikačný kód Snapchat

Ako písať testovacie prípady v PHP

Ak chcete nainštalovať PHPUnit, musíte mať niekoľko predpokladov:

  • Použite najnovšiu verziu PHP.
  • PHPUnit vyžaduje rozšírenia dom, JSON, PCRE, reflection a SPL, ktoré sú predvolene povolené.

Inštalácia (rozhranie príkazového riadka)

Stiahnite si archív PHP (PHAR), aby ste získali PHPUnit. Ak chcete nainštalovať PHAR globálne, môžeme použiť nasledujúce príkazy v príkazovom riadku.

$ wget https://phar.phpunit.de/phpunit-6.5.phar

$ chmod +x phpunit-6.5.phar

$ sudo mv phpunit-6.5.phar /usr/local/bin/phpunit

$ phpunit –verzia

Cez Composer

Ak máte vo svojom systéme nainštalovaný skladateľ, môžete si ho stiahnuť pomocou jediného príkazu.

skladateľ vyžaduje –dev phpunit/phpunit

Otestujte svoju prácu phpunit napísaním

./vendor/bin/phpunit

v systéme Windows

predajca\bin\phpunit

Potom by ste mali spustiť konfiguráciu jednotky PHP:

Zadaním:./vendor/bin/phpunit –generate-configuration

Alebo v strojoch so systémom Windows: vendor\bin\phpunit –generate-configuration

Objavia sa tri otázky, stačí zadať enter a súbory sa automaticky vygenerujú.

Bootstrap skript (vzhľadom na cestu zobrazenú vyššie; predvolené: vendor/autoload.php):

Adresár testov (vzhľadom na cestu zobrazenú vyššie; predvolené: testy):

Zdrojový adresár (vzhľadom na cestu zobrazenú vyššie; predvolené: src):

Adresár vyrovnávacej pamäte (vzhľadom na cestu zobrazenú vyššie; predvolené: .phpunit.cache):

Vygenerovaný súbor phpunit.xml v súbore /php_test.

Z kontroly verzií by ste mali vylúčiť adresár .phpunit.cache.

Začnime s prvým testom jednotky

Najprv vytvorte súbor a pomenujte ho. Pre tento príklad ho pomenujeme HelloworldTest.php

testy mkdir src

testy kódu/HelloworldTest.php

Tým sa otvorí kód Visual Studio vo vašom súbore. Potom napíšte nasledujúci kód:

Čítať:  Ako začať s remeselným blogom

Spustite nasledujúci príkaz na príkazovom riadku a spustite test jednotky

./vendor/bin/phpunit

V počítačoch so systémom Windows:predajca\bin\phpunit

Tu je výstup pre test spustenia:

Teraz skúsme otestovať triedu

Najprv vytvorte súbor v priečinku src/ a pomenujte ho Hello.php a nastavte menný priestor App.

Potom by sme mali vyžadovať nasledujúci súbor, ako je zdokumentovaný na fotografii nižšie:

Urobme test a uvidíme výsledky.

Ako hovorí obrázok, tvrdenie zlyháva, pretože tieto dva reťazce sú identické. Môžeme znova zmeniť očakávanú premennú na helloworld a získať tvrdenie true ako v nasledujúcom príklade:

Pozrime sa na výsledok testov.

Ako vidíme na obrázku, teraz máme tvrdenie.

Teraz viete

Testovanie je nevyhnutné, keď chceme overiť, či náš kód funguje správne. Testovanie jednotiek je úroveň testovania softvéru, kde sa jednotlivé jednotky alebo komponenty nášho kódu testujú izolovane.

Keď testujete WordPress, je dôležité testovať izolovane, pretože ak test jednotky zlyhá, bude ľahšie zistiť, ktorá časť kódu nefunguje správne.

Testovanie jednotiek je zdĺhavý proces, ale je nevyhnutné pre web s vysokým výkonom.

Ako ste videli, dobre otestovaný kód a bezpečný webový hostiteľ vám poskytujú spoľahlivosť a cenný prehľad o výkone a rýchlosti.

Chcete ich implementovať na svoj web?

Pozrite si naše plne spravované plány hostenia WooCommerce – ktoré prichádzajú so vstavaným automatickým testovaním.

Nové Publikácie:

ODPORÚČANIE