Pytest - Xfail / Skip टेस्ट

इस अध्याय में, हम पाइस्टेस्ट में स्किप और एक्सफ़ेल परीक्षणों के बारे में जानेंगे।

अब, निम्न स्थितियों पर विचार करें -

  • कुछ कारणों से कुछ समय के लिए एक परीक्षण प्रासंगिक नहीं है।
  • एक नई सुविधा लागू की जा रही है और हमने पहले ही उस सुविधा के लिए एक परीक्षण जोड़ दिया है।

इन स्थितियों में, हमारे पास परीक्षण को एक्सफ़िल करने या परीक्षणों को छोड़ने का विकल्प है।

पाइस्टेस्ट एक्सफ़ेल्ड परीक्षण को अंजाम देगा, लेकिन इसे भाग असफल या उत्तीर्ण परीक्षण नहीं माना जाएगा। यदि परीक्षण विफल हो जाता है, तो भी इन परीक्षणों का विवरण मुद्रित नहीं किया जाएगा (याद रखें कि आमतौर पर असफल परीक्षण विवरण प्रिंट करता है)। हम निम्नलिखित मार्कर का उपयोग करके परीक्षण को दिखा सकते हैं -

@pytest.mark.xfail

परीक्षण छोड़ने का मतलब है कि परीक्षण निष्पादित नहीं किया जाएगा। हम निम्नलिखित मार्कर का उपयोग करके परीक्षण छोड़ सकते हैं -

@pytest.mark.skip

बाद में, जब परीक्षण प्रासंगिक हो जाता है तो हम मार्करों को हटा सकते हैं।

संपादित करें test_compare.py हमें पहले से ही xfail और स्किप मार्कर शामिल करना होगा -

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

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

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

निम्नलिखित आदेश का उपयोग करके परीक्षण निष्पादित करें -

pytest test_compare.py -v

निष्पादन के बाद, उपरोक्त आदेश निम्नलिखित परिणाम उत्पन्न करेगा -

test_compare.py::test_greater xfail
test_compare.py::test_greater_equal XPASS
test_compare.py::test_less SKIPPED
============================ 1 skipped, 1 xfailed, 1 xpassed in 0.06 seconds
============================