我正在使用Django==1.7c2
,我不想说Django
在我的项目中找到并运行所有测试。我刚创建了一个名为__init__.py
的{{1}}文件夹,而不是全部放入 tests.py 。
这是我的文件结构;
tests
和测试文件中的my_project/apps/my_app/
├── __init__.py
├── tests
├── __init__.py
├── my_first_test.py
├── my_second_test.py
├── ....
├── ....
└── ....
就像;
__init__.py
我认为from my_first_test import *
from my_second_test import *
最初会识别我的Django
,但是当我只运行此命令时;
test folder
没有Django可以运行的测试用例。
python manage.py test
我必须在我的项目中运行特定应用程序的测试,例如;
$ python manage.py test
Creating test database for alias 'default'...
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
Destroying test database for alias 'default'...
结果;
python manage.py test my_project.apps.my_app.tests
我真的不喜欢它,因为我需要立即在我的项目中的所有应用程序中运行所有测试,而不是逐个运行它们。我不知道我错过了什么。
有没有办法说Django在项目的所有应用程序中一次查找并运行所有测试?
谢谢!
我的----------------------------------------------------------------------
Ran 7 tests in 1.432s
OK
Destroying test database for alias 'default'...
INSTALLED_APPS
个应用
答案 0 :(得分:7)
试试这个:
$ ./manage.py test --pattern="*_test.py"
测试发现基于unittest模块的内置测试发现。默认情况下,这将在名为“test * .py”的任何文件中发现测试。
注意强>
顺便说一下,如果您使用标准测试发现(Django从1.6开始使用内置测试发现),您就不需要在__init__.py
文件中导入TestCases