Pytest - टेस्ट का समूहन

इस अध्याय में, हम सीखेंगे कि मार्करों का उपयोग करके परीक्षणों को कैसे व्यवस्थित किया जाए।

पाइस्टेस्ट हमें परीक्षण कार्यों पर मार्कर का उपयोग करने की अनुमति देता है। फ़ंक्शन का परीक्षण करने के लिए विभिन्न सुविधाओं / विशेषताओं को सेट करने के लिए मार्कर का उपयोग किया जाता है। पाइस्टेस्ट कई इनबिल्ट मार्कर प्रदान करता है जैसे कि xfail, स्किप और पैराट्रिज। इसके अलावा, उपयोगकर्ता अपने स्वयं के मार्कर नाम बना सकते हैं। नीचे दिए गए सिंटैक्स का उपयोग करके परीक्षण पर मार्कर लगाए जाते हैं -

@pytest.mark.<markername>

मार्करों का उपयोग करने के लिए, हमें करना होगा import pytestपरीक्षण फ़ाइल में मॉड्यूल। हम परीक्षणों के लिए अपने स्वयं के मार्कर नामों को परिभाषित कर सकते हैं और उन मार्कर नामों वाले परीक्षणों को चला सकते हैं।

चिह्नित परीक्षणों को चलाने के लिए, हम निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं -

pytest -m <markername> -v

-m <markername> निष्पादित किए जाने वाले परीक्षणों के मार्कर नाम का प्रतिनिधित्व करता है।

हमारे परीक्षण फ़ाइलों को अद्यतन करें test_compare.py तथा test_square.pyनिम्नलिखित कोड के साथ। हम 3 मार्करों को परिभाषित कर रहे हैं– great, square, others

test_compare.py

import pytest
@pytest.mark.great
def test_greater():
   num = 100
   assert num > 100

@pytest.mark.great
def test_greater_equal():
   num = 100
   assert num >= 100

@pytest.mark.others
def test_less():
   num = 100
   assert num < 200

test_square.py

import pytest
import math

@pytest.mark.square
def test_sqrt():
   num = 25
   assert math.sqrt(num) == 5

@pytest.mark.square
def testsquare():
   num = 7
   assert 7*7 == 40

@pytest.mark.others
   def test_equality():
   assert 10 == 11

अब चिह्नित परीक्षणों को चलाने के लिए others, निम्न कमांड चलाएं -

pytest -m others -v

परिणाम नीचे देखें। इसने चिह्नित 2 परीक्षणों को चलायाothers

test_compare.py::test_less PASSED
test_square.py::test_equality FAILED
============================================== FAILURES
==============================================
___________________________________________ test_equality
____________________________________________
   @pytest.mark.others
   def test_equality():
>  assert 10 == 11
E  assert 10 == 11
test_square.py:16: AssertionError
========================== 1 failed, 1 passed, 4 deselected in 0.08 seconds
==========================

इसी तरह, हम अन्य मार्करों के साथ भी परीक्षण चला सकते हैं - महान, तुलना