Unit-tesztek erőteljes eszközök a fejlesztők számára, hogy biztosítsák kódjuk minőségét. Lehetővé teszik számodra, hogy a funkciókat izoláltan teszteld, és biztosítsd, hogy az elvárt módon működnek. Ebben az útmutatóban megmutatom, hogyan írd meg az első Unit-teszted Python nyelven. Ezalatt nemcsak a alapokat tanulod meg az Unit-tesztelésről, hanem azt is, hogyan építheted fel a tesztjeidet hatékonyan.

Legfontosabb megállapítások

  • Unit-tesztek segítenek korán észlelni a hibákat, és biztosítják, hogy a funkcióid az elvárt módon működnek.
  • A Python unittest könyvtár egyszerű módot kínál tesztek megvalósítására.
  • Hatékony tesztek pozitív és negatív forgatókönyveket is magukban foglalnak, és ellenőrzik a visszatérési értékek adattípusait.

Lépésről lépésre útmutató

1. lépés: A projektod előkészítése

Először szükséged van egy Python fájlra, amelyben definiálva van a funkciód. A mi példánkban a fájl nevét preisberechnung.py-ra fogjuk nevezni. Itt definiálsz egy get_verkaufspreis nevű funkciót, amely átveszi a beszerzési árat, és hozzáad egy árrést.

Python Unit-Test alapok: A te kezdésed

2. lépés: Hozz létre egy fájlt a Unit-tesztjeid számára

Ezután hozz létre egy új fájlt, amely a teszteket tartalmazza majd. Nevezzük ezt a fájlt preisberechnung_test.py-nak. Itt a unittest modul segítségével fogsz dolgozni.

A keretrendszer használatához az elején importáld:

import unittest
from preisberechnung import get_verkaufspreis
Python Unit-Test alapok: A te belépőd

3. lépés: Definiálj egy teszt osztályt

Egy teszt osztálynak az unittest.TestCase-ből kell származnia. Ez lehetővé teszi az összes teszt szervezett módon történő lebonyolítását. Nevezd el az osztályt PreisberechnungTest-re, hogy világossá tedd, mit is tesztelsz.

Python Unit-Test alapok: A te bevezetőd

4. lépés: Írd meg a tesztjeidet

Most itt az idő, hogy tényleges teszteket írj. Kezdj egy teszttel, amely ellenőrzi, hogy a get_verkaufspreis visszatérési értéke az elvárt típus (float):

class PreisberechnungTest(unittest.TestCase): def test_preis_ist_float(self): vk = get_verkaufspreis(100) self.assertIsInstance(vk, float)
Python Unit-Test alapok: A belépésed

5. lépés: Teszteld az érvénytelen bemeneteket

Az érvénytelen bemenetek tesztelése is fontos. Adj hozzá egy tesztet, amely ellenőrzi, hogy a funkció érvénytelen bemenetek, például None vagy egy String esetén kivételt dob:

def test_invalid_input(self): with self.assertRaises(TypeError): get_verkaufspreis("invalid")
Python Unit-Test alapok: A te belépőd

6. lépés: A tesztek futtatása

A tesztjeid futtatásához ezt megteheted vagy a terminálon, vagy közvetlenül az IDE-dből. Ha a terminált használod, futtasd a következőt:

python -m unittest preisberechnung_test.py

Az IDE-dben, például a PyCharm-ban a Run konfigurációt használhatod a tesztek végrehajtásához.

Python Unit-Test alapjai: A belépőd

7. lépés: Az eredmények ellenőrzése

Ha sikeresen futtattad a teszteket, egy kimenetet fogsz kapni, amely megmutatja, hogy az összes teszt átment-e. A zöld eredmény azt jelenti, hogy a kódod a tervek szerint működik.

8. lépés: A tesztek kibővítése

A alapvető teszteken kívül további releváns forgatókönyveket is hozzáadhatsz, hogy növeld a kód biztonságát. Ne felejtsd el, hogy mind pozitív, mind negatív eseteket tesztelj, hogy biztosítsd, hogy a logikád minden helyzetben működjön.

Python Unit-Test alapok: A te belépőd

Összefoglalás - Első Unit-teszt Pythonban: Alapok és megvalósítás

A Unit-tesztek írása fontos készség, amely segít megbízhatóvá tenni a kódodat. Ebben az útmutatóban megtanultad, hogyan írd meg az első Unit-tesztet Pythonban, a funkció definíciójától kezdve egészen a tesztek futtatásáig és az eredmények ellenőrzéséig. Alapos teszteléssel jelentősen javítható a kódod karbantarthatósága, és a problémák korán észlelhetők.

Gyakran ismételt kérdések

Hogyan készítek Unit-tesztet Pythonban?Unit-teszt készítéséhez Pythonban létre kell hoznod egy teszt osztályt, amely az unittest.TestCase-ből származik, és a teszteket ennek az osztálynak a metódusaiként kell megírni.

Miért kellene Unit-teszteket írnóm?A Unit-tesztek segítenek a hibák korai észlelésében, és biztosítják, hogy a funkcióid az elvárt módon működjenek.

Hogyan futtatom a Unit-teszteket?Unit-teszteket futtathatsz a terminálon a python -m unittest [fájlnév] paranccsal, vagy közvetlenül az IDE-dben.

Mik a jó gyakorlatok a Unit-tesztek számára?Jó gyakorlatnak számít pozitív és negatív tesztforgatókönyvek alkalmazása, valamint az adattípusok ellenőrzése. A tesztek rendszeres futtatása is fontos, hogy a kódban bekövetkező változásokat azonnal ellenőrizhesd.