2012-03-25 18 views
6

क्या पाइथन में टीडीडी के लिए उपयोग की जाने वाली कोई विशेष निर्देशिका संरचना है?पायथन टीडीडी निर्देशिका संरचना

ट्यूटोरियल परीक्षण की सामग्री के बारे में बात करते हैं, लेकिन नहीं, जहां अजगर koans आसपास poking से उन्हें

जगह, जैसे अपने कुछ संदेह है:

/project/main_program.py   # This has main method, starts program 
/project/classes/<many classes>.py 
/project/main_test.py   # This simply directs unittest onto tests, can use parameters fed to it to customise tests for environment 
/project/tests/<many tests>.py 

# to run tests, type "python -m unittest main_test.py" (into a terminal) 
# to run program, type "python main_program.py" 

मैं यह सही कर रहा हूँ ? क्या कोई अच्छी मार्गदर्शिका है जो टीडीडी के लिए निर्देशिका पदानुक्रम सिखाती है? मैंने सुना है कि कोड और परीक्षण की मिश्रित फाइलें खराब हैं।

संदर्भ:

+0

नए लोगों के लिए: यदि आपके पास ऊपर दिखाए गए ढांचे हैं, तो /project/classes/codey.py /project/tests/testy.py के साथ परीक्षण करने के लिए आपके पास testy.py में लिखे गए "कक्षाओं से आयात कोड" होगा यह जानता है कि कहां देखना है। आयात करते समय, अजगर की खोज होती है। तो अगर आपके पास /cat/sat/on/sometest.py और /cat/trolled/dog/somecode.py था तो "cat.trolled.dog से कुछ कोड आयात करें" परीक्षण में जाएगा। – xxjjnn

उत्तर

4

अपने proje के आधार पर सीटी, जो भी शैली आप परीक्षण कोड से

  • अलग कार्यान्वयन कोड की सुविधा देता है
  • नए परीक्षण आसानी से
  • बनाएं
  • भागो एक ऑपरेशन में सभी परीक्षणों (जैसे रिग्रेशन परीक्षण के लिए)

पायथन कॉन्स/आदि सिर्फ दिशानिर्देश हैं। अंत में आप अपने unittests के साथ DRY को बनाए रखना चाहते हैं और आसानी से, रखरखाव और सहजता से परीक्षण करने में सक्षम हो। अंत में यह आपके फ़ोल्डर संरचना का निर्णय लेने के लिए आप पर निर्भर है।

मुझे लगता है कि आप अपनी परियोजना को संतुष्ट करने के बजाय संतोषजनक सम्मेलन पर बहुत अधिक ध्यान केंद्रित कर रहे हैं।

+1

यह अच्छा है इससे कोई फर्क नहीं पड़ता =) बाहर सोचो ... अरे, आपने पाइथन बॉक्स के साथ क्या किया? – xxjjnn

+0

यह अभी भी एक वैध सवाल है, और यह अंततः हर प्रोग भाषा मंच पर पूछा जाता है। अधिक नोट्स के लिए रेफरी http://stackoverflow.com/questions/193161/what-is-the-best-project-structure-for-a-python- एप्लिकेशन। –

1

दो बुनियादी विकल्प हैं: शीर्ष-स्तर "परीक्षण" (या "परीक्षण") निर्देशिका में, या प्रत्येक स्तर पर अपने पैकेज के भीतर "परीक्षण" निर्देशिका में। पूर्व में दोनों यूनिट परीक्षण और अन्य परीक्षणों को लगातार आसान बनाने का लाभ होता है। उत्तरार्द्ध को कोड के स्थापित संस्करण के खिलाफ अपने परीक्षण चलाने में आसान बनाने का लाभ है, और this blog post द्वारा अनुशंसित किया गया है, जो मूल संरचना का वर्णन करता है जो पाइथन परियोजनाओं के लिए अच्छी तरह से काम करता है।

दिन के अंत में, महत्वपूर्ण बात यह है कि उन्हें ढूंढना और चलाने में आसान बनाना है।

संबंधित मुद्दे