Django4.0 进阶测试主题-使用 Django 测试运行器测试可重用的应用程序
如果你正在编写一个 可重用的应用程序,你可能想使用 Django 测试运行器来运行你自己的测试套件,从而从 Django 测试基础设施中获益。
常见的做法是在应用代码旁边有一个 tests 目录,结构如下:
runtests.py
polls/
__init__.py
models.py
...
tests/
__init__.py
models.py
test_settings.py
tests.py
让我们看一下其中的两个文件:
#!/usr/bin/env python
import os
import sys
import django
from django.conf import settings
from django.test.utils import get_runner
if __name__ == "__main__":
os.environ['DJANGO_SETTINGS_MODULE'] = 'tests.test_settings'
django.setup()
TestRunner = get_runner(settings)
test_runner = TestRunner()
failures = test_runner.run_tests(["tests"])
sys.exit(bool(failures))
这是运行测试套件的脚本。它设置 Django 环境,创建测试数据库并运行测试。
为了清楚起见,这个例子只包含了使用 Django 测试运行器所需的最基本的内容。你可能会要添加命令行选项来控制详细程度,传递要运行的特定测试标签等。
SECRET_KEY = 'fake-key'
INSTALLED_APPS = [
"tests",
]
该文件包含运行应用程序测试所需的 Django 配置。
再次,这是一个最小的例子;你的测试可能需要其他设置才能运行。
由于 tests 包在运行测试时被包含在 INSTALLED_APPS
中,你可以在它的 models.py
文件中定义只用于测试的模型。