टॉमस द्वारा कहा गया उत्तर सही है। हालांकि, यह सुनिश्चित करना थकाऊ हो सकता है कि आयात __init__.py
आपकी फ़ाइल संरचना से मेल खाता है।
करने के लिए स्वचालित रूप से फ़ोल्डर में सभी परीक्षण का पता लगाने आप में इस जोड़ सकते हैं __init__.py
:
import unittest
def suite():
return unittest.TestLoader().discover("appname.tests", pattern="*.py")
यह आपको चलाने की अनुमति देगा, ./manage.py test appname
लेकिन विशिष्ट परीक्षणों को चलाने में सक्षम नहीं होगा। ऐसा करने के लिए आप इस कोड का उपयोग कर सकते हैं (इसमें भी __init__.py
):
import pkgutil
import unittest
for loader, module_name, is_pkg in pkgutil.walk_packages(__path__):
module = loader.find_module(module_name).load_module(module_name)
for name in dir(module):
obj = getattr(module, name)
if isinstance(obj, type) and issubclass(obj, unittest.case.TestCase):
exec ('%s = obj' % obj.__name__)
अब आप अपने सभी परीक्षण manage.py test app
या विशिष्ट के माध्यम से चला सकते हैंmanage.py test app.TestApples