링크 단축기 작업 구현하기
다음 단계를 순서대로 따르세요. 작업이 불명확하거나 AGENTS.md의 "사람에게 먼저 물어볼 사항"에 나열된 내용이 필요하면 멈추고 질문하세요.
-
읽기.
AGENTS.md,docs/TASKS.md에서 선택한 작업,tests/AGENTS.md를 엽니다. 오직 그 하나의 작업만 진행하세요. -
검사.
main.py(테이블,encode(), 요청 모델 및 두 라우트)와tests/test_main.py를 읽습니다. 작업이 상호작용하는 부분(예: 코드 생성 방식, 실행 간 데이터베이스 공유 방식)을 기록하세요. -
계획 수립. 편집을 시작하기 전에 다음을 작성하세요:
- 예상 동작 (성공 및 각 실패에 대한 상태 코드와 응답 본문 포함)
- 변경할 파일
- 예외 사례 (빈 입력이나 이상한 입력, 기존 코드와의 충돌, 반복되는 값)
-
실패하는 테스트 작성.
tests/AGENTS.md에 따라tests/test_main.py에 동작 테스트를 추가합니다: 최소한 성공 케이스 하나와 실패 케이스 하나를 포함합니다. 테스트를 실행하고 올바른 이유로 실패하는지 확인하세요(기능이 없어서 실패해야 하며, 오타로 인한 실패가 아니어야 함):pytest tests/test_main.py -k <새_테스트_이름> -
최소 변경 구현.
main.py에서 테스트를 통과시키는 가장 작은 변경을 적용합니다. 기존 동작과 응답 형태를 유지하세요. 테이블에 새 열이 필요하면, 기존links.db가 계속 작동하도록 추가하거나(또는 데이터베이스를 다시 생성해야 하는 이유를 설명하세요). -
전체 실행.
pytest모든 기존 테스트와 새 테스트가 통과해야 합니다. 실패하면 수정하고 다시 실행하세요.
-
요약을 다음 형식으로 작성하세요:
Task: Behavior: Files changed: Tests added: pytest result: Remaining risks: