Skip to content

test: EgovDateUtil.getFullAge 분기 커버리지 보강#251

Open
z3rotig4r wants to merge 1 commit into
eGovFramework:mainfrom
z3rotig4r:test/dateutil-getfullage-coverage
Open

test: EgovDateUtil.getFullAge 분기 커버리지 보강#251
z3rotig4r wants to merge 1 commit into
eGovFramework:mainfrom
z3rotig4r:test/dateutil-getfullage-coverage

Conversation

@z3rotig4r

Copy link
Copy Markdown
Contributor

변경 이유

EgovDateUtil.getFullAge(socialNo, keyDate)는 만 나이를 계산하는 메서드로, 주민등록번호 7번째 자리로 출생 세기를 판별하는 다분기 로직을 가집니다. 그러나 기존 테스트는 1900년대 1개 케이스만 검증하여 세기 판별 분기와 생일 경과 분기에 대한 회귀 안전망이 없었습니다.

변경 내용

소스는 변경하지 않고 현재 동작을 고정하는 characterization 테스트만 추가했습니다.

  • 세기 접두 전수 검증: 7번째 자리 0/9는 1800년대, 1/2는 1900년대, 3/4는 2000년대
  • 0 반환 경로: 미인식 세기코드(5~8), keyDate가 null인 경우
  • 생일 경계: 기준일 MMDD가 생일 전(만나이-1), 당일, 이후(만나이) 3개 케이스
  • getCurrentFullAge 위임 스모크: 현재일자 의존을 배제한 결정적 단정만 유지

테스트 방법

mvn -pl Foundation/org.egovframe.rte.fdl.string test

EgovDateUtilTest 12건, 모듈 50건 모두 통과합니다. 모든 기대값은 메서드 동작을 산술로 검산하여 명시했습니다.

영향 범위

소스 변경 없이 테스트만 추가하므로 런타임 동작에 영향이 없으며 회귀 위험이 없습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant