遵循这两个 答案中的建议后,我仍然无法按照它描述的方式只运行一个 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
这是怎么回事?