Files
news-summary-bot/docs/testing.md
sm4640 dc4656e452
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 11m43s
Feat: [main] news-summary-bot 완성
2026-03-24 12:19:54 +09:00

1.4 KiB

테스트 가이드

의존성 설치

pip install pytest pytest-asyncio

테스트 실행

# 환경변수 더미값 설정 (config.py 로드용)
ANTHROPIC_API_KEY=test DISCORD_WEBHOOK_URL=https://test pytest -v

테스트 구조

tests/test_discord.py

Discord 메시지 전송 모듈(app/discord.py)에 대한 유닛 테스트.

테스트 설명
test_extract_video_id 다양한 YouTube URL 형식에서 비디오 ID를 올바르게 추출하는지 확인 (parametrize 5건)
test_parse_summary_bold_format **한줄 요약**: 볼드 형식의 요약 파싱 검증
test_parse_summary_heading_format ## 한줄 요약 헤딩 형식의 요약 파싱 검증
test_parse_summary_empty 파싱 불가한 텍스트에 대해 빈 dict 반환 확인
test_send_to_discord_embed_structure 임베드에 제목, URL, 썸네일, 필드, 푸터, 타임스탬프가 올바르게 구성되는지 확인
test_send_to_discord_fallback_on_unparsable 파싱 실패 시 전체 텍스트가 description에 그대로 들어가는지 확인

참고

  • 테스트는 외부 API를 호출하지 않습니다 (httpx.AsyncClient를 mock 처리).
  • ANTHROPIC_API_KEY, DISCORD_WEBHOOK_URL은 pydantic-settings가 필수로 요구하므로 더미값을 환경변수로 전달해야 합니다.