一、测试基础
1.1 测试框架配置
# settings.py
# 测试数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydb',
'TEST': {
'NAME': 'test_mydb',
'MIRROR': 'default',
},
}
}
# 测试时使用内存数据库(SQLite)
if 'test' in sys.argv:
DATABASES['default'] = {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':memory:',
}
# 测试时禁用密码哈希(加速测试)
PASSWORD_HASHERS = [
'django.contrib.auth.hashers.MD5PasswordHasher',
]
# 测试配置
# pytest.ini 或 pyproject.toml
[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "myproject.settings"
python_files = ["test_*.py", "*_test.py"]
addopts = "-v --tb=short"
2026/3/20大约 7 分钟