Middle+
Mi a marks a pytest-ben?
sobes.tech MI
Válasz az MI-től
A pytest-ben a markerek (marks) olyan módok, amelyekkel teszteket lehet megjelölni csoportosításra, szűrésre vagy viselkedésük módosítására futás közben.
Fő alkalmazási területek:
- Tesztcsoportosítás: például "lassú", "adatbázis", "api" címkékkel ellátni teszteket, és csak bizonyos csoportokat futtatni.
- Teszt kihagyása: a
@pytest.mark.skipvagy@pytest.mark.skipifmarkerek segítségével bizonyos feltételek mellett kihagyhatók tesztek. - Parametrizáció: bár külön mechanizmus létezik a parametrizációhoz, a markerek további logikára használhatók.
Példa marker használatára:
import pytest
@pytest.mark.slow
def test_heavy_computation():
# olyan teszt, ami sok időt vesz igénybe
assert True
@pytest.mark.skipif(condition, reason="Ok" )
def test_skip_example():
assert False
A futtatáshoz adott markerrel a parancssori opciót használjuk:
pytest -m slow
A markerek segítenek a tesztek szervezésében és futtatásuk kezelésében nagyobb projektekben.