이번 강의는 로그인 실패 시 에러 메시지가 사라지는 문제를 기준으로, 설명, 재현, 원인 파악, 국소 수정, 테스트 추가처럼 작은 task로 나누는 방법을 다룹니다.
이 가이드는 OpenAI Codex 제품, 정책, 표준 변경에 따라 이후 달라질 수 있습니다.
auth/LoginForm.tsx, auth/useLogin.ts, auth/LoginForm.test.tsxnpm test -- auth로 검증합니다.
로그인 경험 전반을 더 좋게 바꿔주세요.
에러 처리도 안정화하고 테스트도 보강해주세요.
이 요청은 범위, 순서, 완료 조건이 한 번에 섞여 있어 실패 원인을 추적하기 어렵습니다.
auth/LoginForm.test.tsx를 보강하고 npm test -- auth로 검증합니다.각 항목이 여전히 크고, 완료 기준도 불명확합니다.
각 단계마다 완료 조건이 있고, 중간에 멈춰도 리뷰와 재개가 쉽습니다.
목표: 로그인 실패 시 에러 메시지가 사라지는 문제를 수정합니다.
수정 범위: auth/LoginForm.tsx, auth/useLogin.ts
금지사항: UI 문구와 API 스펙은 유지하고 auth 바깥은 수정하지 않습니다.
검증 명령: npm test -- auth
완료 조건: 실패 시 메시지가 유지되고 관련 테스트가 통과합니다.
const login = async (email: string, password: string) => {
setError(null); // ← 매번 에러 초기화
setIsLoading(true);
try {
await authApi.login(email, password);
} catch (err) {
setError('로그인에 실패했습니다.');
} finally {
setIsLoading(false); // ← 로딩 끝나도 에러 유지 안됨
}
};
const login = async (email: string, password: string) => {
setIsLoading(true); // ← 에러 초기화 제거
try {
setError(null); // ← 성공 시에만 초기화
await authApi.login(email, password);
} catch (err) {
setError('로그인에 실패했습니다.');
} finally {
setIsLoading(false);
}
};
“로그인 UX를 개선해달라”는 큰 요구사항을 4~5개 task로 다시 분해해보세요.
그중 “국소 수정” task 하나를 실제 Codex 요청 형태로 작성해보세요.