मैं Python3, pytest
और unittest
के साथ काम कर रहा हूं। मेरे पास parent
नाम का एक फ़ंक्शन है जिसमें child
नाम का एक अन्य फ़ंक्शन है।
मैं आंतरिक कार्य का परीक्षण कैसे कर सकता हूं?
def parent():
...
def child():
....
...
2 जवाब
आप फ़ंक्शन को केवल मूल फ़ंक्शन के भीतर से कॉल कर सकते हैं। इसे इनकैप्सुलेशन कहा जाता है :)
def parent():
def child():
print('World')
print('Hello')
child()
print('Hello')
child()
print('Hello')
child()
parent()
आउटपुट:
Hello
World
Hello
World
Hello
World
यह इस बात पर निर्भर करता है कि आप बाल वर्ग का उपयोग कैसे कर रहे हैं लेकिन आप इसके बजाय कक्षा का उपयोग कर सकते हैं:
इसके बजाय इसे एक वर्ग बनाएं:
परीक्षण करने के लिए: कक्षाओं के अंदर अजगर इकाई परीक्षण विधियां
class Parent:
@classmethod
def child(cls):
print('hello')
@classmethod
def run(cls, *args, **kwargs):
cls.child()
Parent.run()
Parent.child()
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।
parent()
पर कॉल करके अप्रत्यक्ष रूप से कॉल कर सकते हैं।