„Codeception Unit Tesztelés segédlet” változatai közötti eltérés
30. sor: | 30. sor: | ||
<code>'''require(__DIR__ . '\..\..\modules\partners\models\Partners.php');'''</code> <br> | <code>'''require(__DIR__ . '\..\..\modules\partners\models\Partners.php');'''</code> <br> | ||
<code>'''require(__DIR__ . '\..\..\modules\apps\models\Apps.php');'''</code> | <code>'''require(__DIR__ . '\..\..\modules\apps\models\Apps.php');'''</code> | ||
+ | |||
+ | === Class 'Yii' not found === | ||
+ | Ha az alábbi hibaüzenet jelenik meg akkor, a '''codeception.yml''' fájl konfigurálása szükséges:<br> | ||
+ | [[Fájl:Unit teszt7.png|500px|bélyegkép|középre|Class 'Yii' not found]] | ||
+ | '''Megoldás''': A '''codeception.yml''' fájlhoz az alábbi kód hozzáadása: | ||
+ | <pre> | ||
+ | bootstrap: _bootstrap.php | ||
+ | modules: | ||
+ | config: | ||
+ | Yii2: | ||
+ | configFile: 'config/test.php' | ||
+ | </pre> | ||
+ | |||
+ | === Call to a member function getDb() on null === |
A lap 2021. augusztus 27., 07:20-kori változata
Tartalomjegyzék
Használata
A Yii2 keretrendszer automatikusan feltelepíti a Codeception nevű teszt keretrendszert, mely PhpUnit-ot használ.
A terminálba a beírt vendor\bin\codecept
parancs segítségével megtekinthetjük a kiválasztható opciókat.
Unit teszt osztály létrehozása
Terminálba írható parancs segítségével: vendor\bin\codecept g:test unit HolidaysTest
vagy pedig:
1. Grafikus felületen tests mappában unit mappára jobb klikk > new > PHP Test > Codeception Unit Test
2. Ezekután bejön a Create New PHP Test ablaka: Itt megadhatjuk, hogy melyik megírt osztályt szeretnénk tesztelni, illetve az adott osztály tesztelni kívánt metódusait is legenerálhatjuk.
Gyakori hibák
Configuration.php: _bootstrap.php cant't be loaded
Ha a vendor\bin\codecept
bármilyen parancsa beírása esetén az alábbi képen is látható hiba üzenet jelenik meg, akkor valószínűleg a tests mappa törölve lett, a codeception.yml viszont nem
Megoldás:
- A codeception.yml fájl törlése
- A terminálban a
php composer.phar require codeception/module-phpbrowser --dev
parancs beírása, a module-phpbrowser telepítése / frissítése - A terminálban a
vendor\bin\codecept bootstrap
parancs futtatása
Ezekután létrehozhatjuk a tesztjeinket.
Class not found
A vendor\bin\codecept run
futtatása után a következő hiba üzenet fogad:
Megoldás:
A hiányzó osztály és az Apps.php fájl require paranccsal történő implementálása, az alább is látható módon:
require(__DIR__ . '\..\..\modules\partners\models\Partners.php');
require(__DIR__ . '\..\..\modules\apps\models\Apps.php');
Class 'Yii' not found
Ha az alábbi hibaüzenet jelenik meg akkor, a codeception.yml fájl konfigurálása szükséges:
Megoldás: A codeception.yml fájlhoz az alábbi kód hozzáadása:
bootstrap: _bootstrap.php modules: config: Yii2: configFile: 'config/test.php'