Sobes.tech
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.skip vagy @pytest.mark.skipif markerek 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.