„Codeception Unit Tesztelés segédlet” változatai közötti eltérés

Innen: Szitár-Net Wiki
Ugrás a navigációhoz Ugrás a kereséshez
22. sor: 22. sor:
 
#  A terminálban a <code>'''vendor\bin\codecept bootstrap'''</code> parancs futtatása
 
#  A terminálban a <code>'''vendor\bin\codecept bootstrap'''</code> parancs futtatása
 
Ezekután létrehozhatjuk a tesztjeinket.
 
Ezekután létrehozhatjuk a tesztjeinket.
 +
 +
=== Class not found ===
 +
A <code>'''vendor\bin\codecept run'''</code> futtatása után a következő hiba üzenet fogad:
 +
[[Fájl:Unit teszt6.png|500px|bélyegkép|középre|Class not found]]
 +
'''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:<br>
 +
<code>'''require(__DIR__ . '\..\..\modules\partners\models\Partners.php');'''</code> <br>
 +
<code>'''require(__DIR__ . '\..\..\modules\apps\models\Apps.php');'''</code>;

A lap 2021. augusztus 26., 13:50-kori változata

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

Unit teszt létrehozása grafikus felületen

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.

A tesztelni kívánt osztály metódusainak generálása

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

bootstrap can't be loaded

Megoldás:

  1. A codeception.yml fájl törlése
  2. 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
  3. 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:

Class not found

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');;