f0f48b39a9
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
65 lines
1.3 KiB
INI
65 lines
1.3 KiB
INI
[tool:pytest]
|
|
# Pytest configuration
|
|
testpaths = tests
|
|
python_files = test_*.py
|
|
python_classes = Test*
|
|
python_functions = test_*
|
|
|
|
# Output options
|
|
addopts =
|
|
--verbose
|
|
--strict-markers
|
|
--strict-config
|
|
--cov=app
|
|
--cov-report=term-missing
|
|
--cov-report=html
|
|
--cov-report=xml
|
|
--cov-branch
|
|
--cov-fail-under=0
|
|
# Note: Coverage threshold set to 0 initially, should be increased gradually
|
|
# Target: 80% coverage for production code
|
|
|
|
# Markers for organizing tests
|
|
markers =
|
|
unit: Unit tests for individual functions/methods
|
|
integration: Integration tests for API endpoints and workflows
|
|
slow: Tests that take significant time to run
|
|
security: Security-related tests
|
|
requires_external: Tests requiring external services (OpenAI, Azure, etc.)
|
|
requires_db: Tests requiring database
|
|
requires_redis: Tests requiring Redis
|
|
|
|
# Ignore patterns
|
|
norecursedirs =
|
|
.git
|
|
.tox
|
|
dist
|
|
build
|
|
*.egg
|
|
__pycache__
|
|
.venv
|
|
venv
|
|
env
|
|
|
|
# Coverage options
|
|
[coverage:run]
|
|
source = app
|
|
omit =
|
|
*/tests/*
|
|
*/test_*.py
|
|
*/__pycache__/*
|
|
*/venv/*
|
|
*/env/*
|
|
*/.venv/*
|
|
|
|
[coverage:report]
|
|
exclude_lines =
|
|
pragma: no cover
|
|
def __repr__
|
|
raise AssertionError
|
|
raise NotImplementedError
|
|
if __name__ == .__main__.:
|
|
if TYPE_CHECKING:
|
|
@abstractmethod
|
|
@abc.abstractmethod
|