Sobes.tech
Middle+

маркерҳо (marks) дар pytest чист?

sobes.tech AI

Ҷавоб аз AI

Дар pytest маркерҳо (marks) — роҳи нишон додани тестҳо барои гурӯҳбандӣ, филтр кардан ё тағир додани рафтор дар вақти иҷро.

Барномаҳои асосӣ:

  • Гурӯҳбандии тестҳо: масалан, нишон додани тестҳо ҳамчун "паст", "базаи додаҳо", "api" ва иҷрои танҳо гурӯҳҳои муайян.
  • Илм кардани тестҳо: бо истифода аз маркер @pytest.mark.skip ё @pytest.mark.skipif метавон тестҳоро дар шароити муайян гузошт.
  • Параметргузорӣ: ҳарчанд механизми алоҳида барои параметргузорӣ вуҷуд дорад, маркерҳо метавонанд барои логикаи иловагӣ истифода шаванд.

Маслиҳат барои истифодаи маркер:

import pytest

@pytest.mark.slow
def test_heavy_computation():
    # тест, ки вақти зиёд мегирад
    assert True

@pytest.mark.skipif(condition, reason="Сабаб")
def test_skip_example():
    assert False

Барои иҷрои тестҳо бо маркери муайян, истифодаи имконияти фармонии командӣ:

pytest -m slow

Маркерҳо кӯмак мекунанд дар ташкил додани тестҳо ва идора кардани иҷрои онҳо дар лоиҳаҳои калон.