9. gyakorlat¶
A gyakorlat anyaga¶
Pytest¶
A pytest egy magasabb szintű teszt keretrendszer Pythonhoz, széles körben használt. Telepíteni a következő paranccsal lehetséges:
pip install pytest
Telepítés után használhatjuk a pytest
parancsot, a -h
˛kapcsolóval megnézhetjük a lehetséges kapcsolóit.
Automatikusan megkeresi a teszteket, majd futtatja azokat (a feltérképezés leírása).
Ezek alapján a korábban létrehozott teszt_kpo.py
fájlunkat át kell neveznünk test_kpo.py
-ra.
Ezt követően mennek a tesztek, mindó, amit talál. Megadhatunk fájlnevet, mappanevet, kifejezést, hogy mi alapján akarunk tesztelni.
pytest teszt_kpo.py::TestKoPapirOllo::test_felhasznalo_valasztasa_ko
segítségével egy teszt is futtatható.
A doctestként létrehozott teszteket alapból nem futtatja, erre a --doctest-modules
kapcsoló lesz segítségünkre.
A pytest azért is nagyon jó, mert rengeteg kiegészítője van, itt egy lista a kiegészítőkről.
Példák:
Lefedettség méréshez a pytest-cov
csomagot telepítjük, majd a pytestnek szólunk, hogy azzal együtt kell futtatni a teszteket.
pytest teszt_kpo.py --cov=kpo
Coverage¶
pip install coverage
coverage run -m pytest teszt_kpo.py
Flake8¶
https://flake8.pycqa.org/en/latest/
pip install flake8
flake8 test_kpo.py
Pylint¶
https://pypi.org/project/pylint/
pip install pylint
python -m pylint .
Tox¶
https://tox.readthedocs.io/en/latest/ Tesztautomatizálás céljából készült modul. Támogatja a különböző tesztkörnyezeteket, tesztfeladatokat.
- Setup.py létrehozása
Feladatok¶
- A pytest dokumentációjának segítségével további 4 kapcsoló megismerése, ezeket egy Markdown fájlba kell feltölteni a CooSpace-re.