AI 도서관 · ChatGPT · 단축 명령어 · 코딩
빨간불을 없애는 것과 문제를 푸는 것은 다릅니다
📌 흔한 함정
테스트가 실패합니다 → AI 가 테스트를 고칩니다 → 초록불이 됩니다 → 아무것도 안 고쳐졌습니다.
비슷한 것들
• 기댓값을 실제 출력에 맞춰 바꾸기
• 실패하는 경우를 건너뛰기(skip) 처리
• 특정 입력에만 통하도록 값을 박아넣기
• 테스트만 통과시키는 우회 코드 만들기
[ 막는 지시문 ]
테스트가 실패하면 테스트를 고치지 마.
먼저 다음을 판단해줘.
① 테스트가 요구하는 동작이 맞는가, 아니면 테스트 자체가 틀렸는가
② 틀렸다고 판단했다면 그 근거를 보여주고 나에게 확인받아줘
③ 테스트가 맞다면 구현을 고쳐줘
다음은 하지 마
• 기댓값을 실제 출력에 맞추기
• 실패하는 경우를 건너뛰기 처리
• 특정 입력에만 통하는 값을 박아넣기
📌 왜 이걸 막아야 하나
테스트는 맞는지 확인하는 수단이지 목표가 아닙니다.
초록불을 목표로 삼는 순간, 테스트는 코드가 무엇을 지키는지가 아니라
코드가 무엇을 하는지를 베껴 적은 문서가 됩니다.
그러면 진짜 버그가 들어와도 통과합니다.
실패하는 테스트:
{{INPUT}}
{{INPUT}} 자리에 내 내용을 넣어 쓰는 프롬프트입니다. 아래 버튼으로 열면 넣는 칸이 나옵니다.
도서관에서 열기 — 내 내용 넣고 복사하기