मेरे unittest फ़ोल्डर इस तरह से आयोजित किया जाता है।अजगर सबफ़ोल्डर के साथ खोज unittest
.
|-- import
| |-- import.kc
| |-- import.kh
| `-- import_test.py
|-- module
| |-- module.kc
| |-- module.kh
| `-- module_test.py
`-- test.py
मैं बस मेरी *_test.py
से प्रत्येक अजगर मॉड्यूल unittest का उपयोग कर चलाने के लिए test.py
चलाना चाहते हैं चाहते हैं। वर्तमान में, मेरी test.py
#!/usr/bin/env python
import unittest
if __name__ == "__main__":
suite = unittest.TestLoader().discover('.', pattern = "*_test.py")
unittest.TextTestRunner(verbosity=2).run(suite)
शामिल अजगर प्रलेखन कि यह स्वचालित रूप से उप-फ़ोल्डर में अपने परीक्षण की खोज करना चाहिए कहते हैं। लेकिन ऐसा नहीं है।
फिलहाल, यह केवल आउटपुट
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
मैं इसे, मेरे *_test.py
फ़ाइल के साथ एक समस्या नहीं है क्योंकि जब मैं उन्हें रूट निर्देशिका में ले जाते हैं, यह ठीक काम करता है यकीन है .. क्या बजे मैं गलत कर रहा हूँ?
यह सिर्फ '__init __। Py' फ़ाइल को छूने से काम किया है, तो आप धन्यवाद। क्या आप मुझे समझा सकते हैं कि मुझे ऐसा क्यों करना है? और क्या कोई और समाधान है? क्योंकि मैं अन्य लोगों के साथ काम कर रहा हूं, और मैं परीक्षण करना संभवतः सबसे आसान तरीका बनाना चाहता हूं। – tomahh
यह परीक्षण खोज लागू करने के तरीके का एक आर्टिफैक्ट है। अनिवार्य रूप से, प्रत्येक निर्देशिका जिसमें एक परीक्षण होता है उसे पाइथन मॉड्यूल के रूप में आयात करने योग्य होना चाहिए। अधिक जानकारी के लिए [डॉक्स] (http://docs.python.org/2/library/unittest.html#test-discovery) देखें। –