Sobes.tech
Middle+

pytest'da markalar (marks) nima?

sobes.tech AI

AIdan javob

pytest'da markalar (marks) testlarni guruhlash, filtrlash yoki ishga tushirish vaqtida ularning xulq-atvorini o'zgartirish uchun usuldir.

Asosiy qo'llanilishi:

  • Testlarni guruhlash: masalan, testlarni "sekin", "ma'lumotlar bazasi", "api" sifatida belgilash va faqat ma'lum guruhlarni ishga tushirish.
  • Testlarni o'tkazib yuborish: @pytest.mark.skip yoki @pytest.mark.skipif markeri yordamida ma'lum shartlar ostida testlarni o'tkazib yuborish mumkin.
  • Parametrizatsiya: parametrizatsiya uchun alohida mexanizm bo'lsa-da, markerlar qo'shimcha mantiq uchun ishlatilishi mumkin.

Markerdan foydalanish misoli:

import pytest

@pytest.mark.slow
def test_heavy_computation():
    # juda ko'p vaqt oladigan test
    assert True

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

Ma'lum bir marker bilan testlarni ishga tushirish uchun buyruq satri opsiyasidan foydalaniladi:

pytest -m slow

Markerlar testlarni tashkil qilish va ularning ishga tushirilishini boshqarishda yordam beradi.