पाइस्टेस्ट - परिक्षण परीक्षण

परीक्षण के पैरामीटर को इनपुट के कई सेटों के खिलाफ परीक्षण चलाने के लिए किया जाता है। हम निम्न मार्कर का उपयोग करके ऐसा कर सकते हैं -

@pytest.mark.parametrize

नीचे दिए गए कोड को नामक फ़ाइल में कॉपी करें test_multiplication.py -

import pytest

@pytest.mark.parametrize("num, output",[(1,11),(2,22),(3,35),(4,44)])
def test_multiplication_11(num, output):
   assert 11*num == output

यहां परीक्षण 11 के साथ एक इनपुट को गुणा करता है और परिणाम की अपेक्षित आउटपुट के साथ तुलना करता है। परीक्षण में इनपुट के 4 सेट हैं, प्रत्येक में 2 मान हैं - एक 11 के साथ गुणा किया जाने वाला नंबर है और दूसरा अपेक्षित परिणाम है।

निम्नलिखित कमांड को चलाकर परीक्षा पास करें -

Pytest -k multiplication -v

उपरोक्त कमांड निम्नलिखित आउटपुट उत्पन्न करेगा -

test_multiplication.py::test_multiplication_11[1-11] PASSED
test_multiplication.py::test_multiplication_11[2-22] PASSED
test_multiplication.py::test_multiplication_11[3-35] FAILED
test_multiplication.py::test_multiplication_11[4-44] PASSED
============================================== FAILURES
==============================================
_________________ test_multiplication_11[3-35] __________________
num = 3, output = 35
   @pytest.mark.parametrize("num, output",[(1,11),(2,22),(3,35),(4,44)])
   def test_multiplication_11(num, output):
>  assert 11*num == output
E  assert (11 * 3) == 35
test_multiplication.py:5: AssertionError
============================== 1 failed, 3 passed, 8 deselected in 0.08 seconds
==============================