मान लीजिए मैं निम्नलिखित है कोड:Doctest
def foo(s):
"""A dummy function foo. For example:
>>> a = '''This is a test string line 1
This is a test string line 2
This is a test string line 3'''
>>> foo(a)
This is a test string line 1
This is a test string line 2
This is a test string line 3
>>>
"""
print s
if __name__ == '__main__':
import doctest
doctest.testmod()
और इसे foo.py. के रूप में सहेजने की अनुमति देना जब मैं चलाएँ:
C:\Python27>python.exe foo.py
**********************************************************************
File "foo.py", line 5, in __main__.foo
Failed example:
a = '''This is a test string line 1
Exception raised:
Traceback (most recent call last):
File "C:\Python27\lib\doctest.py", line 1254, in __run
compileflags, 1) in test.globs
File "<doctest __main__.foo[0]>", line 1
a = '''This is a test string line 1
^
SyntaxError: EOF while scanning triple-quoted string literal
**********************************************************************
File "foo.py", line 8, in __main__.foo
Failed example:
foo(a)
Exception raised:
Traceback (most recent call last):
File "C:\Python27\lib\doctest.py", line 1254, in __run
compileflags, 1) in test.globs
File "<doctest __main__.foo[1]>", line 1, in <module>
foo(a)
NameError: name 'a' is not defined
**********************************************************************
1 items had failures:
2 of 2 in __main__.foo
***Test Failed*** 2 failures.
मांगपत्र की कोशिश की है docstring (>>> एक = '' '...' '' सब इंडेंट जांच की है - प्रत्येक मांगपत्र के लिए 4 स्थानों।) और दोहरे उद्धरण के लिए एकल उद्धरण बदल (>>> ए = "" "...." ""), त्रुटियां अलग हैं और सबसे बुद्धिमान सफलतापूर्वक नहीं चलेगी। वर्तमान में केवल एकमात्र चीज है कि सभी लाइनों को चरम लंबी स्ट्रिंग में शामिल करना और '\ r \ n' से अलग होना है।
क्या मुझे कुछ याद आती है?
हालांकि मैं नहीं अंगूठे-अप (15 प्रतिष्ठा) की आवश्यकता कर सकते हैं, आपके उत्तर के लिए धन्यवाद लगाने की जरूरत है लगता है। आपका जवाब पूरी तरह से काम करता है। – user1045217
मैं सिर्फ यह उल्लेख करना चाहता हूं कि ** डॉक्टेस्ट ** को * डबल * कोट्स के साथ उद्धृत करने की आवश्यकता है। उत्तर में ** डॉकस्ट्रिंग ** उद्धृत * एकल * उद्धरण है। मैंने अपने उद्धरण को एकल उद्धरण में उद्धृत किया था, और मुझे पता नहीं लगा कि यह क्यों काम नहीं कर रहा था। – Forethinker
@Forethinker: धन्यवाद! बीटीडब्ल्यू, जब आप एक स्पष्ट गलती देखते हैं, तो इस साइट को सहयोगी रूप से संपादित किया जाता है, पोस्ट को संपादित करने और इसे सही करने के लिए स्वतंत्र महसूस करें। – georg