Django测试manage.py

时间:2018-05-04 08:53:42

标签: python django testing manage.py

要运行我的Django测试,我使用的是manage.py文件。 但我决定创建自己的文件runtests.py。

正如Django的doc中所指定的那样,manage.py文件将执行名称以“test”开头并且其类继承TestCase的所有方法!

我的目标是使用此搜索方法显示所有可能的测试(不运行它们)。 所以你知道我在哪里可以得到这种“搜索方法”吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在寻找的内容称为"测试发现",您不需要手动执行此操作。

如果要编写运行测试的独立脚本,可以在配置后从Python代码手动调用Django的测试运行器。这个过程是:

# First you need settings.
# You can do this by setting DJANGO_SETTINGS_MODULE:
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'path.to.your.settings')

# Or you can do it manually:
SETTINGS_DICT = {
    # Put all the settings you'll need in here...
}
from django.conf import settings
settings.configure(**SETTINGS_DICT)

import django
django.setup()

import sys

# Now you can run tests:
from django.test.utils import get_runner
TestRunner = get_runner(settings)
test_runner = TestRunner(verbosity=2, interactive=True)
failures = test_runner.run_tests(
    ['test_module_to_look_in']
)
sys.exit(bool(failures))