Files
Timmy-time-dashboard/pytest.ini
2026-02-28 19:27:48 -05:00

58 lines
1.4 KiB
INI

[pytest]
# Test discovery and execution configuration
testpaths = tests
pythonpath = src:tests
asyncio_mode = auto
asyncio_default_fixture_loop_scope = function
timeout = 30
timeout_method = signal
timeout_func_only = false
# Test markers for categorization and selective execution
markers =
unit: Unit tests (fast, no I/O, no external services)
integration: Integration tests (may use SQLite, in-process agents)
functional: Functional tests (real HTTP requests, no mocking)
e2e: End-to-end tests (full system, may be slow)
slow: Tests that take >1 second
selenium: Requires Selenium and Chrome (browser automation)
docker: Requires Docker and docker-compose
ollama: Requires Ollama service running
external_api: Requires external API access
skip_ci: Skip in CI environment (local development only)
# Output and reporting
# -n auto: run tests in parallel across all CPU cores (pytest-xdist)
# Override with -n0 to disable parallelism for debugging
addopts =
-v
--tb=short
--strict-markers
--disable-warnings
-n auto
# Coverage configuration
[coverage:run]
source = src
omit =
*/tests/*
*/site-packages/*
[coverage:report]
show_missing = true
skip_empty = true
precision = 1
exclude_lines =
pragma: no cover
if __name__ == .__main__.
if TYPE_CHECKING:
raise NotImplementedError
@abstractmethod
fail_under = 60
[coverage:html]
directory = htmlcov
[coverage:xml]
output = coverage.xml