2011-06-11 5 views
9

मैंने कुछ कोड लिखा है जिसे मैं साझा करना चाहता हूं, और मैं इसकी संरचना बनाने/बनाए रखने में सर्वोत्तम प्रथाओं का पालन करना चाहता हूं। मैं बिटबकेट पर कोड होस्ट करूंगा, और अब मैं सोच रहा हूं कि मुझे इसे कैसे व्यवस्थित करना चाहिए। क्या यह एक अच्छी संरचना है?पायथन ओपन सोर्स प्रोजेक्ट की सामान्य संरचना क्या है और परीक्षण चलाने का पसंदीदा तरीका क्या है?

project_name/ 
    lib/ 
    test/ 
    README 

तो, इसमें lib में स्रोत होगा, और परीक्षण में परीक्षण होंगे। क्या यह पाइथन परियोजनाओं में किया गया है? यह वह संरचना है जिसे मैंने रूबी परियोजनाओं के साथ सबसे अधिक उपयोग किया था।

set PYTHONPATH=`pwd`/lib 
python test/a_test.py 
+0

अच्छा, 'pwd' क्रॉस-प्लेटफ़ॉर्म नहीं है। परीक्षणों में PythonPATH के बारे में, यह प्रश्न देखें: http://stackoverflow.com/questions/1896918/running-unittest-with-typical-test-directory- संरचना –

+0

@ टोड ओवेन, हाँ, मुझे पता है कि पीडब्ल्यूडी क्रॉस-प्लेटफ़ॉर्म नहीं है, लेकिन स्क्रिप्ट चलाने पर पाइथन इसका मान मानेंगे। – Geo

उत्तर

1

दृष्टिकोण मुझे पसंद है पर आए हैं निम्नलिखित है::

  • उपयोग distutils और एक बनाने के साथ ही, जब मैं इकाई परीक्षण चलाने के लिए, इसे इस तरह यह करने के लिए अच्छा अभ्यास माना जाता है setup.py फ़ाइल। (यह अधिक उपयोगी है जब आपके पास बहुत से एक्सटेंशन कक्षाएं हैं)। यह आपको मॉड्यूल सिस्टम-व्यापी या वर्चुअलएनवी निर्देशिका में स्थापित करने की अनुमति देगा।
  • आप गंभीर परीक्षण किया है, लेकिन चीजों की आकस्मिक रहें, doctest तुम क्या चाहते है, क्योंकि यह "के रूप में नंगे हड्डियों" प्रलेखन (दोगुना कर सकते हैं करना चाहते हैं जब आप परीक्षण दस्तावेज़ और पर कुछ टिप्पणी शामिल यह क्या कर रहा है)। आप या तो अपने कोड के डॉकस्ट्रिंग में परीक्षण का उपयोग करने के लिए सबसे अच्छा उपयोग कर सकते हैं या कुछ अलग .txt फ़ाइलों में परीक्षण रखें।

आप setup.py फ़ाइल में एक उपयुक्त cmdclass=... प्रवेश के साथ setup आदेश का विस्तार करके doctest एकीकृत कर सकते हैं। Setup.py में परीक्षण को एकीकृत करने वाले एक समाधान के लिए this example (CouchDB setup) देखें। (यह अलग-अलग फाइलों का उपयोग करता है जो दोनों परीक्षण और वास्तविक दस्तावेज हैं, जो एक संभावना भी है)।

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