在遵循these two answers中的建议后,我仍然无法按其描述的方式运行单个django测试。我可以运行它们,但这需要很长时间,并使调试更难。
我的项目结构如下:
mainapp/mainapp/users/
├── __init__.py
├── tests
│ ├── __init__.py
│ ├── test_views.py
└── views.py
例如,当运行整个测试套件时,其中一个失败的测试会提供此输出:
失败:test_changepassword(mainapp.users.tests.test_views.ChangePasswordTest)
但是当我尝试用Django运行Django TestCase时......
~/mainapp$ python manage.py test mainapp.users.tests.test_views.ChangePasswordTest
File "/usr/lib/python2.7/unittest/loader.py", line 100, in loadTestsFromName
parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'test_views'
或django-nose语法......
~/mainapp$ python manage.py test mainapp.users.tests.test_views:ChangePasswordTest
File "/usr/lib/python2.7/unittest/loader.py", line 100, in loadTestsFromName
parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'test_views:ChangePasswordTest'
当我在PyCharmCE调试模式下运行它时,它确认模块对象没有属性,但我不知道为什么。
我安装了django-nose(1.4.5)并且它在我的INSTALLED_APPS中,但是我不知道是否需要使用它。
这可以很好地工作到一定程度。例如,这没关系:
~/mainapp$ python manage.py test mainapp.users.tests
发生了什么事?