78 lines
1.5 KiB
INI
78 lines
1.5 KiB
INI
[pytest]
|
|
# Pytest配置文件
|
|
|
|
# 测试发现
|
|
python_files = test_*.py
|
|
python_classes = Test*
|
|
python_functions = test_*
|
|
|
|
# 测试路径
|
|
testpaths = tests
|
|
|
|
# 输出选项
|
|
addopts =
|
|
# 详细输出
|
|
-v
|
|
# 显示本地变量(失败时)
|
|
-l
|
|
# 显示print输出
|
|
-s
|
|
# 显示测试覆盖率
|
|
--cov=app
|
|
--cov-report=html
|
|
--cov-report=term-missing
|
|
# 生成HTML报告
|
|
--html=test_reports/pytest_report.html
|
|
--self-contained-html
|
|
# 生成XML报告(JUnit格式)
|
|
--junitxml=test_reports/junit.xml
|
|
# 显示最慢的10个测试
|
|
--durations=10
|
|
# 颜色输出
|
|
--color=yes
|
|
# 警告设置
|
|
-W ignore::DeprecationWarning
|
|
# 并行执行(需要pytest-xdist)
|
|
# -n auto
|
|
# 重试失败的测试(需要pytest-rerunfailures)
|
|
# --reruns=2
|
|
# --reruns-delay=1
|
|
|
|
# 标记定义
|
|
markers =
|
|
smoke: 冒烟测试(快速验证基本功能)
|
|
regression: 回归测试(完整功能测试)
|
|
integration: 集成测试(需要数据库/外部服务)
|
|
unit: 单元测试(独立测试)
|
|
slow: 慢速测试(执行时间较长)
|
|
security: 安全测试
|
|
performance: 性能测试
|
|
api: API测试
|
|
|
|
# 覆盖率配置
|
|
[coverage:run]
|
|
source = app
|
|
omit =
|
|
*/tests/*
|
|
*/test_*.py
|
|
*/__pycache__/*
|
|
*/site-packages/*
|
|
*/venv/*
|
|
*/migrations/*
|
|
*/config.py
|
|
|
|
[coverage:report]
|
|
# 覆盖率目标
|
|
precision = 2
|
|
show_missing = True
|
|
skip_covered = False
|
|
|
|
# 最低覆盖率要求
|
|
fail_under = 70.0
|
|
|
|
[coverage:html]
|
|
directory = test_reports/htmlcov
|
|
|
|
[coverage:xml]
|
|
output = test_reports/coverage.xml
|