Pytest - बेसिक टेस्ट से शुरू
अब, हम अपने पहले पाइस्टेस्ट कार्यक्रम के साथ शुरुआत करेंगे। हम पहले एक निर्देशिका बनाएंगे और इस तरह, निर्देशिका में हमारी परीक्षण फ़ाइलें बनाएँ।
हमें नीचे दिखाए गए चरणों का पालन करें -
नाम से एक नई निर्देशिका बनाएँ automation और अपनी कमांड लाइन में निर्देशिका में नेविगेट करें।
नाम से एक फ़ाइल बनाएँ test_square.py और उस फ़ाइल में नीचे कोड जोड़ें।
import math
def test_sqrt():
num = 25
assert math.sqrt(num) == 5
def testsquare():
num = 7
assert 7*7 == 40
def tesequality():
assert 10 == 11
निम्नलिखित कमांड का उपयोग करके परीक्षण चलाएं -
pytest
उपरोक्त कमांड निम्नलिखित आउटपुट उत्पन्न करेगा -
test_square.py .F
============================================== FAILURES
==============================================
______________________________________________ testsquare
_____________________________________________
def testsquare():
num=7
> assert 7*7 == 40
E assert (7 * 7) == 40
test_square.py:9: AssertionError
================================= 1 failed, 1 passed in 0.06 seconds
=================================
परिणाम की पहली पंक्ति देखें। यह फ़ाइल नाम और परिणाम प्रदर्शित करता है। F परीक्षण विफलता का प्रतिनिधित्व करता है और डॉट (।) एक परीक्षण सफलता का प्रतिनिधित्व करता है।
नीचे, हम असफल परीक्षणों का विवरण देख सकते हैं। यह दिखाएगा कि परीक्षण किस कथन पर विफल रहा है। हमारे उदाहरण में, 7 * 7 की तुलना 40 के मुकाबले समानता के लिए की जाती है, जो गलत है। अंत में, हम परीक्षण निष्पादन सारांश, 1 असफल और 1 उत्तीर्ण देख सकते हैं।
फ़ंक्शन tesequality को निष्पादित नहीं किया जाता है क्योंकि पाइस्टेस्ट इसे एक परीक्षण के रूप में नहीं मानेंगे क्योंकि इसका नाम प्रारूप का नहीं है test*।
अब, नीचे दिए गए कमांड को निष्पादित करें और फिर से परिणाम देखें -
pytest -v
-शरीर की कार्यक्षमता बढ़ाता है।
test_square.py::test_sqrt PASSED
test_square.py::testsquare FAILED
============================================== FAILURES
==============================================
_____________________________________________ testsquare
_____________________________________________
def testsquare():
num = 7
> assert 7*7 == 40
E assert (7 * 7) == 40
test_square.py:9: AssertionError
================================= 1 failed, 1 passed in 0.04 seconds
=================================
अब परिणाम परीक्षण के बारे में अधिक व्याख्यात्मक है जो विफल हो गया और जो परीक्षा उत्तीर्ण हुई।
Note - pytest कमांड प्रारूप की सभी फाइलों को निष्पादित करेगी test_* या *_test वर्तमान निर्देशिका और उपनिर्देशिकाओं में।