Junior
Milyen teszt modulokat ismersz Pythonban?
sobes.tech MI
Válasz az MI-től
unittest(vagyPyUnit) - szabványos modul tesztek létrehozására és futtatására. Támogatja a tesztesetek (TestCase), tesztcsomagok (TestSuite) és tesztfuttatók (TestRunner) fogalmait.pytest- népszerű külső keretrendszer teszteléshez. Egyszerűvé teszi a tesztek írását (TestCaseöröklése nélkül), támogatja a fixture-eket, paraméterezést és egy rugalmas plugin rendszert.nose2- egy másik külső keretrendszer, amely javítja és bővíti aunittestképességeit.doctest- lehetővé teszi, hogy a docstring-ekbe ágyazott kódrészleteket tesztként futtassa.mock(beépítve aunittest.mock-ba Python 3.3+ alatt) - a rendszer részeinek "ál" (mock) objektumokra való cseréjére szolgál, lehetővé téve a kód független tesztelését a függőségektől.coverage.py- méri a kód tesztekkel való lefedettségét.hypothesis- property-alapú teszteléshez keretrendszer, amely különböző bemeneti adatokat generál a kód invariánsainak ellenőrzéséhez.
Az unittest és pytest összehasonlítása:
| Jellemző | unittest |
pytest |
|---|---|---|
| Teszt leírása | TestCase-t öröklő osztályok |
Funkciók vagy osztálymódszerek |
| Fixture-ek | setUp, tearDown metódusok |
Dekorátor @pytest.fixture |
| Paraméterezés | Extra trükköket igényel | Beépített (@pytest.mark.parametrize) |
| Jelentések | Alapvető | Részletesebbek |
| Pluginok | Korlátozott | Széles plugin ökoszisztéma |
Egyszerű pytest teszt példája:
# my_module.py
def add(a, b):
return a + b
# test_my_module.py
def test_add():
"""Az add függvény tesztelése"""
assert add(2, 3) == 5
assert add(-1, 1) == 0
assert add(0, 0) == 0
Teszt futtatása:
pytest