[tool:pytest] # pytest 配置文件 # 测试发现 testpaths = tests python_files = test_*.py *_test.py python_classes = Test* python_functions = test_* # 输出配置 addopts = -v --tb=short --strict-markers --disable-warnings --color=yes --durations=10 --cov=. --cov-report=html:htmlcov --cov-report=term-missing --cov-fail-under=80 # 标记定义 markers = slow: marks tests as slow (deselect with '-m "not slow"') integration: marks tests as integration tests unit: marks tests as unit tests api: marks tests as API tests database: marks tests as database tests device: marks tests as device tests analysis: marks tests as analysis tests # 过滤警告 filterwarnings = ignore::UserWarning ignore::DeprecationWarning ignore::PendingDeprecationWarning ignore:.*:pytest.PytestUnraisableExceptionWarning # 最小版本要求 minversion = 6.0 # 测试目录 testmon_datafile = .testmondata # 日志配置 log_cli = true log_cli_level = INFO log_cli_format = %(asctime)s [%(levelname)8s] %(name)s: %(message)s log_cli_date_format = %Y-%m-%d %H:%M:%S # 覆盖率配置 [coverage:run] source = . omit = */tests/* */venv/* */env/* */__pycache__/* */migrations/* setup.py conftest.py [coverage:report] exclude_lines = pragma: no cover def __repr__ if self.debug: if settings.DEBUG raise AssertionError raise NotImplementedError if 0: if __name__ == .__main__.: class .*\bProtocol\): @(abc\.)?abstractmethod [coverage:html] directory = htmlcov