[tool:pytest]
# pytest 설정 파일

# 테스트 디렉토리
testpaths = tests

# 테스트 파일 패턴
python_files = test_*.py *_test.py

# 테스트 클래스 패턴
python_classes = Test*

# 테스트 함수 패턴
python_functions = test_*

# 마커 정의
markers =
    unit: 단위 테스트
    integration: 통합 테스트
    performance: 성능 테스트
    slow: 느린 테스트 (시간이 오래 걸리는 테스트)
    api: API 테스트
    database: 데이터베이스 테스트
    cache: 캐시 테스트
    classifier: 분류기 테스트

# 출력 설정
addopts = 
    -v
    --tb=short
    --strict-markers
    --disable-warnings
    --color=yes
    --durations=10
    --cov=app
    --cov-report=term-missing
    --cov-report=html:htmlcov
    --cov-fail-under=80

# 최소 커버리지 (80%)
# --cov-fail-under=80

# 로그 설정
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

# 경고 필터
filterwarnings =
    ignore::DeprecationWarning
    ignore::PendingDeprecationWarning
    ignore::UserWarning:sqlalchemy.*

# 테스트 발견 설정
minversion = 6.0
required_plugins = 
    pytest-cov
    pytest-asyncio
    pytest-mock
