Django立即运行所有测试

时间:2014-09-17 08:45:30

标签: python django django-testing

我正在使用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在项目的所有应用程序中一次查找并运行所有测试?

谢谢!

#Edited

我的---------------------------------------------------------------------- Ran 7 tests in 1.432s OK Destroying test database for alias 'default'...

中有INSTALLED_APPS个应用

1 个答案:

答案 0 :(得分:7)

试试这个:

$ ./manage.py test --pattern="*_test.py"

测试发现基于unittest模块的内置测试发现。默认情况下,这将在名为“test * .py”的任何文件中发现测试。

注意

顺便说一下,如果您使用标准测试发现(Django从1.6开始使用内置测试发现),您就不需要在__init__.py文件中导入TestCases