58 lines
1.6 KiB
INI
58 lines
1.6 KiB
INI
[pytest]
|
|
# Pytest configuration for TradingAgents
|
|
|
|
# Test discovery patterns
|
|
python_files = test_*.py
|
|
python_classes = Test*
|
|
python_functions = test_*
|
|
|
|
# Test paths - Structured by test type
|
|
# tests/unit/ - Fast, isolated unit tests
|
|
# tests/integration/ - Component interaction tests
|
|
# tests/e2e/ - End-to-end workflow tests
|
|
testpaths =
|
|
tests
|
|
tests/unit
|
|
tests/integration
|
|
tests/e2e
|
|
|
|
# Markers - Register custom markers to avoid warnings
|
|
markers =
|
|
unit: Unit tests - fast, isolated tests of individual functions/classes
|
|
integration: Integration tests - test interactions between components
|
|
e2e: End-to-end tests - test complete workflows
|
|
llm: Tests that interact with LLM providers (may require API keys)
|
|
chromadb: Tests that interact with ChromaDB
|
|
slow: Tests that take significant time to run (>5 seconds)
|
|
requires_api_key: Tests that require API keys to run
|
|
|
|
# Output options
|
|
addopts =
|
|
-v
|
|
--strict-markers
|
|
--tb=short
|
|
--color=yes
|
|
|
|
# Coverage options (when using pytest-cov)
|
|
# Uncomment to enable coverage reporting by default
|
|
# addopts = --cov=tradingagents --cov-report=term-missing
|
|
|
|
# Logging
|
|
log_cli = false
|
|
log_cli_level = INFO
|
|
log_cli_format = %(asctime)s [%(levelname)8s] %(message)s
|
|
log_cli_date_format = %Y-%m-%d %H:%M:%S
|
|
|
|
# Test collection options
|
|
# Ignore certain directories during test collection
|
|
norecursedirs = .git .tox dist build *.egg .venv venv
|
|
|
|
# Timeout (requires pytest-timeout plugin)
|
|
# timeout = 300 # 5 minutes default timeout per test
|
|
|
|
# Warnings
|
|
filterwarnings =
|
|
error
|
|
ignore::UserWarning
|
|
ignore::DeprecationWarning
|