Használja a WordPress tesztelőeszközöket a beépülő modulok elkészítéséhez & Futtasson egységteszteket a Github-műveletekben

Mostanában sokat beszéltünk az egységtesztekről, kezdve az alapokkal, majd egészen a tesztek beépülő modulokhoz való hozzáadásáig, hogy a gyakorlatban is láthassa. Azt is bemutattuk, hogyan használhatja a Github Actions-t webhelyének automatikus telepítéséhez a gazdagépen. Ma mindkét koncepció darabjait kivesszük és kombináljuk, így automatikusan futtatjuk a teszteket Github-műveletekkel, amikor új kódot küldünk a tárolóba.

A legegyszerűbb módja annak, hogy elkezdjem WP tesztelési eszközök a Valu Digitaltól. A Valu Digital csapata meglehetősen egyszerű módot kínált a tesztek elindítására és futtatására a Github Actions rendszeren. Csak azt fogjuk ismertetni, hogyan használhatjuk alapsablonjukat a nulláról kezdődően a bővítményfejlesztéssel, hogy teszteket lehessen futtatni. A tesztbeállítások hozzáadása egy meglévő bővítményhez némileg több munkát igényel.

Adja hozzá a WP Testing Tools beállítást egy meglévő bővítményhez

A kezdéshez klónozza a lerakat a helyi számítógépére.

[email protected]:valu-digital/wp-testing-tools.git a beépülő modul neve

Ezután meg kell ragadnunk a beépülő modulok mappáját a tároló belsejéből, mivel ez lesz a bővítményünk alapja. Állítsa át a mappát oda, ahová az új beépülő modult szeretné, és nevezze át, hogy megfeleljen a használni kívánt bővítmény nevének.

Zeneszerzővel foglalkozni

Ehhez a tesztelési beállításhoz a Composer szükséges, amelyet ma már nem kell alaposan ismernie. A zeneszerzővel egy későbbi bejegyzésben fogok részletesen foglalkozni. Egyelőre le kell futtatnia a zeneszerző telepítését, hogy telepítse a WP Testing Tools szükséges függőségeit.

Sajnos azt tapasztaltam, hogy a tárolóból hiányzik néhány szükséges Composer csomag, ezért meg kell győződnünk arról, hogy ezek is telepítve vannak a következő parancsokkal.

Olvasni:  Hogyan hozzunk létre egy WordPress online piacteret

a zeneszerző megköveteli a kódfogást/modul-rest –dev

zeneszerző igényel codeception/module-phpbrowser –dev

zeneszerző igényel codeception/module-db –dev

a zeneszerző codeception/module-asserts –dev

zeneszerző telepítése

Várj, memóriahibáim vannak a Composerrel. Segítség! Valószínűleg nem számít, és nem szabad beszereznie őket a Github Actions-ben, így egyelőre figyelmen kívül hagyhatja.

Most már telepítettük a megfelelő eszközöket, lenyomhatja a Githubot, és látni fogja, hogy az egységtesztek probléma nélkül futnak le. Ez a beépülő modul még mindig nem áll készen arra, hogy tovább építhessünk, ezért kezdjük el a benne lévő többi karakterlánc átnevezését, és tegyük sajátunkká.

Beépülő modul fájlok beállítása

Kezdhetjük a plugin.php fájlban található plugin fejléc információinak átnevezésével. Nevezd el a beépülő modulodnak megfelelő módon, és készítsd el a szerzőt. A névteret és az osztálybejegyzéseket is meg kell változtatnunk, hogy megfelelően elnevezzük őket a projektünkhöz. A névteret a cégem nevére módosítom, és a PluginBase-t használom osztálynévként ebben az oktatóanyagban. Alább láthatja a működő átnevezett fájlomat. A kommenteket is kitisztítottam, hogy könnyebben olvasható legyen.

/**

* Beépülő modul neve: Hostinger – Github Actions Unit Tests

* Beépülő modul URI: https://nexcess.net

* Leírás: Beépülő modul, amely egységteszteket futtat a Github Actions segítségével

* Szerző: Curtis McHale

* Verzió: 0.1.0

*

* @package példa

*/

if (!\class_exists(‘\Sfndesign\PluginBase’)) {

igényel_egyszer __DIR__ . ‘/vendor/autoload.php’;

}

\Sfndesign\PluginBase::init();

Most a composer.json fájlban is változtatnunk kell néhány dolgon. Győződjön meg arról, hogy Ön szerepel a bővítmény szerzőjeként, és módosítsa a Github-problémák és a forrás hivatkozásait, hogy azok megfeleljenek a tárhelynek. Ezenkívül módosítania kell a beépülő modul névterét az automatikus betöltés bejegyzés alatt. A cégnevet használom, így az enyém az Sfndesign feliratot írja. Alább láthatja a módosított composer.json fájlomat.

Olvasni:  Hogyan lehet megszüntetni a megjelenítést blokkoló erőforrásokat a W...

{

“name”: “sfndesign/pluginbase”,

“description”: “Actions Plugin”,

“type”: “wordpress-plugin”,

“licenc”: “GPL-2.0-vagy újabb”,

“szerzői”: [

    {

      “name”: “Curtis McHale”,

      “email”: “[email protected]”,

      “role”: “developer”

    }

  ],

“require-dev”: {

“valu/wp-testing-tools”: “^0.4.0”,

“lucatume/wp-browser”: “~2.2”,

“codeception/module-rest”: “^1.2”,

“codeception/module-phpbrowser”: “^1.0”,

“codeception/module-db”: “^1.0”,

“codeception/module-asserts”: “^1.3”

},

“autoload”: {

“psr-4”: {

“Sfndesign\\”: “src/”

}

},

“scripts”: {

“wp-install”: “wp-install –full –env-file .env –wp-composer-file composer.wp-install.json”,

“wpunit”: “codecept futtatása wpunit”,

“functional”: “codecept runfunctional”,

“teszt”: [

      “@wpunit”,

      “@functional”

    ]

},

“config”: {

“optimize-autoloader”: igaz

},

“támogatás”: {

“issues”: “https://github.com/example/example/issues”,

“forrás”: “https://github.com/example/example”

}

}

Most meg kell változtatnunk az src könyvtárban található Example.php fájl nevét. PluginBase.php-nek fogom hívni, hogy ragaszkodjunk az általunk használt formátumhoz. Ezután nyissa meg a fájlt, és módosítsa a névteret Sfndesign-ra, az osztály nevét pedig PluginBase-re. Alább láthatja a módosított fájlt.

névtér Sfndesign;

class PluginBase {

public static function init() {

define( ‘PÉLDA’, ‘inicializált’ );

add_action(‘the_title’, function () {

return ‘EXAMPLE TITLE MOD’;

});

}

}

Most, hogy elvégeztük ezeket a beállításokat, újra le kell futtatnunk a zeneszerző frissítését, hogy a Composer regisztrálja a szükséges új automatikus betöltési útvonalakat az átnevezett fájlokhoz.

Végül, hogy megbizonyosodjunk arról, hogy az egész jól működik, könnyebbnek találom a tests/ExampleTest.php fájlban található kezdeti tesztjüket olyasmire cserélni, amely mindentől függetlenül igaz lesz. Ezt a kódot alább láthatja.

publikus függvény testInit()

{

$this->assertTrue(igaz);

}

Most, hogy elkészültünk, inicializálhatja a beépülő modult git-tárolóként, majd továbbíthatja a Githubba. Miután ezt megtette, látnia kell egy műveletet a tárhely Műveletek lapján, és minden zöldre vált, mert az egységteszt lefutott.

Az elmúlt néhány bejegyzésben teszteket írtunk, és a Github Actions segítségével automatizáltuk folyamatunk egyes részeit. Most már Önön múlik, hogy ezeket az eszközöket használja-e az ügyfélprojektekben. Később nem fog teszteket írni, ezért mindenképpen az elejétől kezdje el a teszteket. Ha még mélyebbre szeretne menni a tesztelésben, Fränk Klein kiváló kurzusa elmagyarázza Egységtesztelés a WordPressben. Már szerepel a listámon, hogy végigmegyünk, hogy jobban teljesíthessem a tesztelési gyakorlataimat.

Olvasni:  Interjú Ricardo Martins-szal – Magento...

Új publikációk:

Ajánlott